๋น๊ต ์ฐ์ฐ์
๋น๊ต ์ฐ์ฐ์๋ (1) ๊ฐ์ด๋ (2) ๋ณ์์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๋น๊ตํด์ True/False๋ฅผ ๋ฐํํด์ค๋ค.
1. ๊ฐ์ ๋น๊ตํ๋ ์ฐ์ฐ์: <, >, <=, >=, ==, !=
a = 1
b = 3
print(a < b) # True
print(a <= b) # True
print(a > b) # False
print(a >= b) # False
print(a == b) # False
print(a != b) # True
2. ๋ณ์์ ๊ฐ์ฒด ์ฃผ์๋ฅผ ๋น๊ตํ๋ ์ฐ์ฐ์: is, is not
a = "๊ฐ์ง"
b = "๊ฐ์ง"
c = b
print(a == b) # True
print(a is b) # False
print(b == c) # True
print(b is c) # True
์์ ์์ ์ ๊ฐ์ด a, b, c ๋ณ์๊ฐ ๋ชจ๋ "๊ฐ์ง"๋ผ๋ ๊ฐ์ ๊ฐ์ง๊ณ ์์ด์ == ์ฐ์ฐ์๋ก ๊ฐ์ ๋น๊ตํ์ ๋๋ ๋ชจ๋ True๊ฐ ๋ฐํ๋๋ค.
ํ์ง๋ง a์ b ๊ฐ์ ๊ฒฝ์ฐ๋ ๊ฐ๊ฐ ๋ณ์๋ฅผ ๋ฐ๋ก "๊ฐ์ง"๋ก ์ ์ธํ๊ธฐ ๋๋ฌธ์ ์๋ก ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ๊ทธ๋์ a is b๋ False๊ฐ ๋ฐํ๋๋ค.
๋ฐ๋ฉด์ c๋ b๋ฅผ ์์ ๋ณต์ฌํ๊ธฐ ๋๋ฌธ์ b์ c๋ "๊ฐ์ง"๋ผ๋ ๊ฐ์ ๋ํด์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ณต์ ํ๊ณ ์๋ค. ๊ทธ๋์ b is c๋ True๋ฅผ ๋ฐํํ๊ฒ ๋๋ค.
์ด๊ฑด id()๋ผ๋ ํจ์๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ํ์ธํ ์ ์๋ค.
print(a, b, c) # ๊ฐ์ง ๊ฐ์ง ๊ฐ์ง
print(id(a), id(b), id(c)) # 140428732886640 140428732886064 140428732886064
๋ณ์ a, b, c์ ๊ฐ์ ๋ชจ๋ "๊ฐ์ง"์ด์ง๋ง ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ ์์ ๋ณต์ฌ๋ b์ c๋ง ๊ฐ์ ๊ฒ์ ํ์ธํ ์ ์๋ค.
โป ๋ณ์๊ฐ ์ซ์๋ฅผ ๊ฐ๋ฅดํฌ ๋ -5์์ 256๊น์ง๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ์ ํด์ ธ ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ ๋ค๋ฅธ ๋ณ์์ ๋ฐ๋ก ์ง์ ํด๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค.
num1, num11 = 256, 256
print(num1 is num11) # True
print(id(num1), id(num11)) # 11264224 11264224
num2, num22 = 257, 257
print(num2 is num22) # False
print(id(num2), id(num22)) # 140592459425488 140592459424720
๋ ผ๋ฆฌ ์ฐ์ฐ์
๋ ผ๋ฆฌ ์ฐ์ฐ์๋ not, and, or ์ธ๊ฐ์ง๊ฐ ์๋๋ฐ ์ด ์์๋ก ํ๋จ์ ํ๋ค.
A | B | A and B | A or B | not A |
True | True | True | True | False |
False | False | False | False | True |
True | False | False | True | - |
False | True | False | True | - |
- and : ์์ชฝ ๋ชจ๋ True์ฌ์ผ True๋ฅผ ๋ฐํํ๋ค.
- or : ์์ชฝ ์ค ํ๋๋ผ๋ True์ด๋ฉด True๋ฅผ ๋ฐํํ๋ค.
- not : ๋ฐ๋๋ฅผ ๋ฐํํ๋ค.
ํ๋จ ์์
- ๋น๊ต ์ฐ์ฐ์(<, >, <=, >=, ==, !=)๋ฅผ ๋จผ์ ํ๋จํ๋ค.
- ๋ ผ๋ฆฌ ์ฐ์ฐ์(not, and or)๋ฅผ ๋ค์์ผ๋ก ํ๋จํ๋ค.
'๐ฑ CS Study > ํ์ด์ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋จ๋ฝ ํ๊ฐ (short-circuit evaluation) (0) | 2022.07.26 |
---|---|
์์ ๋ณต์ฌ vs. ๊น์ ๋ณต์ฌ (shallow copy vs. deep copy) (0) | 2022.07.18 |
๋์ ๋๋ฆฌ (dictionary) ํจ์ (0) | 2022.07.17 |
๋ฆฌ์คํธ (list) ํจ์ (0) | 2022.07.10 |
๋๊ธ