산술 연산자 (Arithmetic Operators)
할당 연산자 (Assignment Operators)
삼항 연산자 (Ternary Operator)
비교 연산자 (Comparison Operators)
논리 연산자(Logical Operators)
식별 연산자(Identity Operators)
멤버 연산자(Membership Operators)
비트 연산자(Bitwise Operators)
+ (더하기)
print(100 + 50)
# 결과 : 150
- (빼기)
print(100 - 50)
# 결과 : 50
* (곱하기)
print(100 * 50)
# 결과 : 5000
/ (나누기)
print(100 / 50)
# 결과 : 2.0
% (나머지)
print(100 % 55)
# 결과 : 45
** (제곱)
print(100 ** 3)
# 결과 : 1000000
// (몫)
print(100 // 55)
# 결과 : 1
=
(a = b 대입의 개념)
a = 100
b = 50
print(a, b)
# 결과 100 50
+=
(a += b 👉 a = a + b )
a = 100
a += 10
print(a)
# 결과 : 110
-=
(a -= b 👉 a = a - b )
a = 100
a -= 10
print(a)
# 결과 : 90
*=
(a *= b 👉 a = a * b )
a = 100
a *= 10
print(a)
# 결과 : 1000
/=
(a /= b 👉 a = a / b )
a = 100
a /= 10
print(a)
# 결과 : 10.0
%=
(a %= b 👉 a = a % b )
a = 100
a %= 3
print(a)
# 결과 : 1
**=
(a **= b 👉 a = a ** b )
a = 100
a **= 3
print(a)
# 결과 : 1000000
//==
(a //== b 👉 a = a // b )
a = 100
a //= 3
print(a)
# 결과 : 1000000
JavaScript
의 삼항 연산자 문법
[condition] ? [true_value] : [false_value]
Python
에서는 삼항 연산자를 지원하지 않기 때문에 if, else
를 이용한 문법을 통해 삼항 연산자를 표현
num = 100
example = "짝수입니다." if num % 2 == 0 else "홀수입니다."
print(example)
# 결과 : 짝수입니다.
==
(같음)
a = 1
b = 0
print(a == b)
# 결과 : False
a = 0
print(a == b)
# 결과 : True
!=
(다름)
a = 1
b = 0
print(a != b)
# 결과 : True
a = 0
print(a != b)
# 결과 : False
>
(왼쪽이 큼)
a = 1
b = 0
print(a > b)
# 결과 : True
a = -1
print(a > b)
# 결과 : False
<
(오른쪽이 큼)
a = 1
b = 0
print(a < b)
# 결과 : False
a = -1
print(a < b)
# 결과 : True
>=
(왼쪽이 크거나 같음)
a = 1
b = 0
print(a >= b)
# 결과 : True
a = -1
print(a >= b)
# 결과 : False
a = 0
print(a >= b)
# 결과 : True
<=
(오른쪽이 크거나 같음)
a = 1
b = 0
print(a <= b)
# 결과 : False
a = -1
print(a <= b)
# 결과 : True
a = 0
print(a >= b)
# 결과 : True
and
(and를 두고 좌, 우의 조건이 모두 참)
a = 1
b = 2
c = 3
d = 4
print(a < b and c < d)
# 결과 : True
print(a < b and c > d)
# 결과 : False
or
(or을 두고 좌, 우의 조건 중 하나라도 참)
a = 1
b = 2
c = 3
d = 4
print(a < b or c < d)
# 결과 : True (둘 다 True)
print(a < b or c > d)
# 결과 : True (좌 True, 우 False)
print(a > b or c > d)
# 결과 : False (둘 다 False)
not
(조건이 거짓)
a = 1
b = 2
c = 3
d = 4
print(not a < b)
# 결과 : False (a < b 자체는 True)
print(not c > d)
# 결과 : True (c > d 자체는 False)
a = 1
b = 2
print(a is b) # 결과 : False
print(a is not b) # 결과 : True
print(a == 1.0) # 결과 : True
# 값 자체의 비교이므로 True
print(a is 1.0) # 결과 : False
# 객체의 주소가 다르므로 False
a = [1, 2, 3, 4, 5]
print(1 in a) # 결과 : True
print("1" in a) # 결과 : False
# 정수의 형태가 아닌 문자의 형태의 포함을 확인하고 있으므로 False
print(6 in a) # 결과 : False
print("Jin" in "HyungJin") # 결과 : True
print("Han" in "HyungJin") # 결과 : False
<<
(왼쪽 시프트 연산자)
print(2 << 1)
# 결과 : 4 (2 * 2)
# 2(0010)에서 4(0100)으로 1비트 이동
>>
(오른쪽 시프트 연산자)
print(2 >> 1)
# 결과 : 1 (2 / 2)
# 2(0010)에서 1(0001)으로 1비트 이동
&
(and 연산자)
print(2 & 6)
# 결과 : 2
# 2(0010)와 6(0110)에서 겹치는 1만 출력해서 2(0010)
|
(or 연산자)
print(2 | 8)
# 결과 : 10
# 2(0010)와 8(1000)에 둘 중 한 쪽에만 1이 있기만 하면 1을 출력해서 10(1010)
^
(xor 연산자)
print(2 ^ 4)
# 결과 : 6
# 2(0010)와 4(0100)에서 둘 중 한쪽만 1이 있는 경우 1을 출력해서 6(0110)
~
(보수 연산자)
보수 연산자를 이해하는데 시간이 조금 걸렸다...
print(~ 4)
# 결과 : -5 → -(입력값+1)
# 4(0b100)에서 -5(-0b101)로 출력