4.4.2. 파이썬 연산자
연산자는 피연산자의 값을 조작할 수 있는 구조입니다.
표현식 4 + 5 = 9를 생각해 보겠습니다. 여기서 4와 5는 피연산자라고 부르고 +는 연산자라고 합니다.
파이썬은 산술연산자, 비교연산자, 할당연산자, 논리연산자, Bitwise 연산자, 멤버쉽연산자, Identity연산자를 지원합니다.
1) 산술연산자
산술연산자에는 사칙연산자 +, -, *, / 와 제곱을 나타내는 **, 나머지를 산출하는 % (Modulus), 그리고 나누기에 소숫점 이하를 버리는 // 연산자(Floor Division) 등이 있습니다.
Operator | Example |
+ 덧하기 | a + b = 30 |
- 빼기 | a – b = -10 |
* 곱하기 | a * b = 200 |
/ 나누기 | b / a = 2 |
** 제곱 | a = 3; b = 4; print(a ** b) 81 |
// 정수 몫 | 9//2 = 4 and 9.0//2.0 = 4.0, -11//3 = -4, -11.0//3 = -4.0 |
% 나머지 | b % a = 0 |
2) 비교연산자
비교연산자는 관계연산자로도 불리우는데, 여기에는 등호(==), 같지 않음(!=), 부등호(<, >, <=, >=) 등이 있습니다.
a 의 값은 10, b는 20 이라고 한다면
Operator | Example |
== | (a == b) is not true. |
!= | (a != b) is true. |
<> | (a <> b) is true. This is similar to != operator. |
> | (a > b) is not true. |
< | (a < b) is true. |
>= | (a >= b) is not true. |
<= | (a <= b) is true. |
3) 할당연산자
할당연산자는 변수에 값을 할당하기 위하여 사용되는데, 기본적으로 = (Equal Sign)을 사용합니다. 산술연산자와 함께 사용되어 할당을 보다 간결하게 하기 위해 사용되는 +=, -=, *=, /=, %=, //= 등과 같은 연산자도 할당연산자에 해당됩니다.
Operator | Example |
= | c = a + b assigns value of a + b into c |
+= Add AND | c += a is equivalent to c = c + a |
-= Subtract AND | c -= a is equivalent to c = c - a |
*= Multiply AND | c *= a is equivalent to c = c * a |
/= Divide AND | c /= a is equivalent to c = c / ac /= a is equivalent to c = c / a |
%= Modulus AND | c %= a is equivalent to c = c % a |
**= Exponent AND | c **= a is equivalent to c = c ** a |
//= Floor Division | c //= a is equivalent to c = c // a |
4) 논리연산자
논리연산자에는 and, or, not 이 있는데, and 는 양쪽의 값이 모두 참인 경우만 참이 되고, or 는 어느 한쪽만 참이면 참이 됩니다. not 은 참이면 거짓으로 거짓이면 참이 됩니다. 아래 예제는 No가 출력됩니다.
a 의 값은 10, b는 20 이라고 한다면
Operator | Example |
and Logical AND | (a and b) is true. |
or Logical OR | (a or b) is true. |
not Logical NOT | Not(a and b) is false. |
5) Bitwise 연산자
Bitwise연산자에는 & (AND), | (OR), ^ (XOR), ~ (Complement), <<, >> (Shift)가 있는데, 이 연산자는 비트단위의 연산을 하는데 사용됩니다.
a = 60; b = 13 이라고 가정하면
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
Operator | Example |
& Binary AND | (a & b) (means 0000 1100) |
| Binary OR | (a | b) = 61 (means 0011 1101) |
^ Binary XOR | (a ^ b) = 49 (means 0011 0001) |
~ Binary Ones Complement | (~a ) = -61 (means 1100 0011 in 2's complement form due to a signed binary number. |
<< Binary Left Shift | a << 2 = 240 (means 1111 0000) |
>> Binary Right Shift | a >> 2 = 15 (means 0000 1111) |
6) 멤버쉽 연산자
멤버쉽연산자에는 in, not in 이 있는데, 이는 좌측 Operand가 우측 컬렉션에 속해 있는지 아닌지를 체크합니다. 파이썬 멤버쉽 연산자는 문자열, 리스트 또는 튜플과 같은 시퀀스 멤버십을 테스트하는데 사용됩니다.
Operator | Example |
in | x in y, x가 시퀀스 y의 멤버이면 1이 됩니다. |
not in | x not in y, x가 시퀀스 y의 멤버가 아닌 경우 1이 됩니다. |
7) Identity 연산자
Identity연산자에는 is, is not 이 있는데, 이는 두 객체의 메모리 위치를 체크합니다.
Operator | Example |
is | 연산자의 양쪽에 있는 변수가 동일한 객체를 가리키는 경우 true로 평가하고 그렇지 않으면 false로 평가합니다. |
is not | 연산자의 양쪽에 있는 변수가 동일한 객체를 가리키는 경우 false로 평가하고 그렇지 않으면 true로 평가합니다. |
8) 파이썬 연산자 우선 순위
가장 높은 우선 순위에서 가장 낮은 모든 연산자를 보여줍니다.
Operator | Description |
** | 지수 (전원으로 인상) |
~ + - | Ccomplement, 단항 플러스와 마이너스 (마지막 두의 메서드 이름은 + @이며, - @) |
* / % // | 곱하기, 나누기, 나머지, 몫 |
+ - | 덧셈과 뺄셈 |
>> << | 좌우 비트 시프트 |
& | 비트 'AND' |
^ | | 비트 전용 'OR'와 정기적 인 'OR' |
<= < > >= | 비교 연산자 |
<> == != | 평등 연산자 |
= %= /= //= -= += *= **= | 할당 연산자 |
is is not | 식별 연산자 |
in not in | 맴버 연산자 |
not or and | 논리 연산자 |
Last updated