Developer MJ Story

Python 연산자와 연산 우선순위 본문

Software/Python&Ruby

Python 연산자와 연산 우선순위

집근처 2017. 6. 12. 15:01
반응형

안녕하세요. 집근처 개발자입니다.


오늘은 Python의 연산자와 연산 우선순위에 대해 알아 보겠습니다.

Python은 C언어와 유사한 연산자를 제공합니다.

논리 연산의 경우 !, &, | 등의 기호 대힌, 'not', 'and', 'or' 등의 키워드를 사용한다.

객체의 식별자를 비교하는 is, not is와 컨터이너(list, set, dict 등)에 포함된 요소를 검사하는 in, not in가 추가되었다.


연산자 

설명 

연산자 

설명 

** 

 거듭 제곱 

<. >, <=, >= 

 대소 비교로 작다, 크다, 작거나 같다. 크거나 같다.

 ~, +, -

 비트 반전, 부호 +, 부호 - 

==, != 

 값에 대한 동등 비교로 같다, 같지 않다. 

*, /, //, % 

 곱셈, 나눗셈, 정수 결과 나눗셈, 나머지 

is, is not 

 참조에 대한 동등 비교로 같다, 같지 않다. 

+, - 

 덧셈, 뺄셈 

in, not in 

 컨테이너 포함 비교 

<<, >> 

 왼쪽 비트 이동, 오른쪽 비트 이동 

not 

 논리 부정 

 비트 단위 곱셈 

and or 

 논리 곱, 논리 합 

 ^, |

비트 단위 베타적 덧셈, 비트 단위 덧셈 

=,+=, -=, *=,

/=, //=, %=, **= 

 대입, 복함 대입(해당 연산 수행후 대입) 


우선 순위와 결합 법칙

1. 우선 순위는 식에서 연산자들의 계산 순서를 결정

2. 산술 > 시프트 > 비트 > 비교 > 논리 연산자 순

3. 결합 법칙은 동일한 우선 순위 연산자들이 인접해 나타날 때 어느쪽이 먼저 평가될지 결정

4. 일반적으로 왼쪽에서 오른쪽으로 적용

5. 괄호는 우선 순위와 결합 법칙 변경 --> 괄호 우선


연산자 중복

1. 연산자 중복은 동일한 연산 기호가 상황에 따라 다른 연산을 수행하는 것

2. 시스템은 기본적으로 정수 연산과 실수 연산을 구분하므로 연산 규칙도 개별적으로 정의해야 함.

3. 사용자는 수학적 의미와 동일하게 같은 연산 기호 사용 요구

4. 의미가 유사한 연산에 동일한 기호를 사용하면 일관성 유지

5. 중복 연산자의 선택은 피연산자의 타입에 의존

반응형

'Software > Python&Ruby' 카테고리의 다른 글

Python zip함수  (0) 2017.06.12
Python 타입 변환 (round, floor, ceil)  (0) 2017.06.12
Python의 Tuple(튜플)이란  (0) 2017.06.09
Python Data type  (0) 2017.06.09
Python 변수/상수/클래스 명 지정 방법  (0) 2017.06.09