All about Python/심화

Python 연산자(Operators)와 연산자 우선순위

① 파이썬에서 수를 다루는 방식에는 여러가지가 있다. 이 연산자들은 연산을 수행하고자 하는 값 사이나, 값 앞에 기호를 표시한다.

② 각 기호를 연산자라고 부르고 연산을 하고자 하는 값은 피연산자라고 부른다. 파이썬에서 연산자와 피연산자의 조합을 표현식이라고 한다.

③ 항의 개수로 연산자를 분류하면 다음과 같다.(이 때 '항'은 수학에서 사용하는 용어인 다항식의 '항'과 동일하다.)

 

  ㉠ 단항 연산자에는 수화 연산자(+)와 음수화 연산자(-), 비트 반전 연산자(~), 논리 부정 연산자(not)가 있다.

    ⓐ 단항 연산자의 꼴은 연산자+피연산자의 형태이다.

 

  ㉡ 이항 연산자는 연산자 중 가장 많은 영역을 차지하며, 단항 연산자와 삼항 연산자를 제외한 연산자이다.

    ⓐ 이항 연산자의 꼴은 피연산자+연산자+피연산자의 형태이다.

  ㉢ 삼항 연산자에는 ~if ~else가 있다.

    ⓐ 삼항 연산자의 꼴은 피연산자+연산자+피연산자+연산자+피연산자의 형태이다.

 

④ 연산자의 종류를 피연산자의 종류와 역할에 따라 분류하면 다음과 같다.

 

④ 기본적으로 연산자는 왼쪽에서 오른쪽으로 차례대로 계산된다. 즉 같은 연산 순서를 가진 연산자들의 경우 왼쪽에서 오른쪽으로 순서대로 계산된다.

우선 순위 연산자 구분 연산자 이름
0 (,) 괄호(연산자는 아님)
1 산술 연산자 거듭제곱 : **
2 단항 연산자 : +, -
비트 단위 연산자 비트 반전 연산자 : ~
3 산술 연산자 곱셈, 나눗셈, 몫, 나머지 : *, /, //, %
4 덧셈, 뺄셈 : +, -
5 비트 단위 연산자 쉬프트 : <<<, >>>
6 비트 AND 연산자 : &
7 비트 OR 연산자, 비트 XOR 연산자 : |, ^
8 비교 연산자(관계 연산자) 크다, 작다, 크거나 같다, 작거나 같다 : >, <, >=, <=
9 같다, 같지 않다 : ==, !=
10 할당 연산자 =, = %, = /, = //, -=, +=, *=, **=
11 식별 연산자 is, is not
12 멤버 연산자 in, not in
13 논리 연산자 논리 부정, 논리합, 논리곱 : not, or, and

 

⑤ +, *를 제외한 모든 연산자에는 교환법칙이 성립하지 않는다. 따라서 피연산자끼리의 자리를 뒤집으면 결과값이 달라진다.