[References]
http://pythonstudy.xyz
Python은 산술 연산자, 비교 연산자, 할당 연산자, 논리 연산자, Bitwise 연산자, Membership 연산자, Identity 연산자를 지원한다.
산술 연산자에는 사칙 연산자 +, -, *, / 와 제곱을 나타내는 **, 나머지를 산출하는 % (Modulus), 나누기에 소수점 이하를 버리는 // 연산자(Floor Division) 등이 있다.
print(512 + 634)
# 1146
print(100 * 2016 * 1004)
# 202406400
print(2 * 2014 / 333)
# 12.096096096096096
print(55 / 3)
# 18.333333333333332
print(2 * 2014 // 333)
# 12
print(55 // 3)
# 18
print(2014 % 100)
# 14
print(123 % 5)
# 3
print(2 ** 64)
# 18446744073709551616
print(2 ** 32)
# 4294967296
print(3014 ** 12)
# 561977561797550433783442605323055764279296
비교 연산자는 관계 연산자라고도 불리는데, 여기에는 등호(==), 같지 않음(!=), 부등호(<, >, <=, >=) 등이 있다.
a = 4
if a != 1:
print("1이 아님")
# 1이 아님
할당 연산자는 변수에 값을 할당하기 위하여 사용되는데, 기본적으로 = (Equal Sign)을 사용한다.
산술 연산자와 함께 사용되어 할당을 보다 간결히 하기 위해 사용되는 +=, -=, *=, /=, %=, //= 등과 같은 연산자도 할당 연산자에 해당한다.
a = a * 10
# 위와 동일한 표현
a *= 10
논리 연산자에는 and, or, not이 있는데, and는 양쪽의 값이 모두 참인 경우만 참이 되고, or는 어느 한 쪽만 참이면 참이 된다.
not은 참이면 거짓, 거짓이면 참이 된다. 아래 예제는 No가 출력된다.
x = True
y = False
if x and y:
print("Yes")
else:
print("No")
Bitwise 연산자에는 & (AND), | (OR), ^ (XOR), ~ (Complement), <<, >>(Shift)가 있는데, 이 연산자는 비트 단위의 연산을 하는데 사용된다.
# 0000 1000
a = 8
# 0000 1011
b = 11
# 0000 1000 (8)
c = a & b
# 0000 0011 (3)
d = a ^ b
print(c)
# 8
print(d)
# 3
Membership 연산자에는 in, not in이 있는데, 이는 좌측 Operand가 우측 Collection에 속해 있는지 아닌지를 체크한다.
a = [1, 2, 3, 4]
b = 3 in a
print(b)
# True
Identity 연산자에는 is, is not이 있는데, 이는 양쪽 Operand가 동일한 Object를 가리키는지 아닌지를 체크한다.
a = "ABC"
b = a
print(a is b)
# True