| ๋ถ๊ณผ(boolean) ๋น๊ต ์ฐ์ฐ์ ์ฌ์ฉํ๊ธฐ
- boolean = True, False๋ก ํํ
- 1, 3.6, ‘Python’ ์ฒ๋ผ ๊ฐ์ ์ผ์ข .
| ๋น๊ต ์ฐ์ฐ์์ ํ๋จ ๊ฒฐ๊ณผ
>>> 3 > 1
True
- ๋น๊ต ์ฐ์ฐ์์ ๋ ผ๋ฆฌ ์ฐ์ฐ์์ ํ๋จ ๊ฒฐ๊ณผ๋ก True, False๋ฅผ ์ฌ์ฉ.
| ์ซ์๊ฐ ๊ฐ์์ง ๋ค๋ฅธ์ง ๋น๊ตํ๊ธฐ
>>> 10 == 10 #10๊ณผ 10์ด ๊ฐ์์ง ๋น๊ต
True
>>> 10 != 10 #10๊ณผ 5๊ฐ ๋ค๋ฅธ์ง ๋น๊ต
True
- ๋ ์ซ์๊ฐ ๊ฐ์์ง ๋น๊ตํ ๋๋ ==(equal), ๋ค๋ฅธ์ง ๋น๊ตํ ๋๋ ≠ (not equal)์ ์ฌ์ฉ.
- ํ์ด์ฌ์์ ๋ ๊ฐ์ด ๊ฐ์์ง ๋น๊ตํ ๋๋ =์ด ์๋ ==์ ์ฌ์ฉ. =์ ํ ๋น ์ฐ์ฐ์๋ก ์ด๋ฏธ ์ฌ์ฉ๋๊ณ ์๊ธฐ ๋๋ฌธ.
| ๋ฌธ์์ด์ด ๊ฐ์์ง ๋ค๋ฅธ์ง ๋น๊ตํ๊ธฐ
>>> 'Python' == 'Python'
True
>>> 'Python' == 'python'
False
>>> 'Python' != 'python'
True
- ์ซ์๋ฟ๋ง ์๋๋ผ ๋ฌธ์์ด๋ ==๊ณผ ≠ ์ฐ์ฐ์๋ก ๋น๊ตํ ์ ์์.
- ๋ฌธ์์ด์ ๋น๊ตํ ๋ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถ.
- ๋จ์ด๊ฐ ๊ฐ์๋ ๋์๋ฌธ์๊ฐ ๋ค๋ฅด๋ฉด ๋ค๋ฅธ ๋ฌธ์์ด๋ก ํ๋จ.
| ๋ถ๋ฑํธ ์ฌ์ฉํ๊ธฐ
>>> 10 > 20 # 10์ด 20๋ณด๋ค ํฐ์ง ๋น๊ต
False
>>> 10 < 20 # 10์ด 20๋ณด๋ค ์์์ง ๋น๊ต
True
>>> 10 >= 10 # 10์ด 10๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์์ง ๋น๊ต
True
>>> 10 <= 10 # 10์ด 10๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์์ง ๋น๊ต
True
- ๋น๊ต ๊ธฐ์ค์ ์ฒซ ๋ฒ์งธ ๊ฐ!! ์ฆ, ์ฒซ ๋ฒ์งธ ๊ฐ๋ณด๋ค ํฐ์ง, ์์์ง์ฒ๋ผ ์ฝ์.
- > ์ ์ด๊ณผ < ์ ๋ฏธ๋ง, ≥ ์ ์ด์, ≤ ์ ์ดํ.
- >, < ์ ๋น๊ตํ ๊ฐ๊ณผ ๊ฐ์ผ๋ฉด ๋ฌด์กฐ๊ฑด ๊ฑฐ์ง.
- ≥, ≤์ ๋น๊ตํ ๊ฐ๊ณผ ๊ฐ์ผ๋ฉด ์ฐธ.
| ๊ฐ์ฒด๊ฐ ๊ฐ์์ง ๋ค๋ฅธ์ง ๋น๊ตํ๊ธฐ
- ==๊ณผ ≠์ด ์๋๋ฐ ์ is, is not์ ๋ง๋ค์์๊น?
- ==, ≠๋ ๊ฐ ์์ฒด๋ฅผ ๋น๊ตํ๊ณ , is, is not์ ๊ฐ์ฒด(object)๋ฅผ ๋น๊ต.
>>> 1 == 1.0
True
>>> 1 is 1.0
False
>>> 1 is not 1.0
True
- 1๊ณผ 1.0์ ์ ์์ ์ค์๋ผ๋ ์ฐจ์ด์ ์ด ์์ง๋ง ๊ฐ์ ๊ฐ์.
- ๋ฐ๋ผ์ ๊ฐ ์์ฒด๋ก ๋น๊ตํ๋ ==์ True๊ฐ ๋์ด. ํ์ง๋ง is๋ก ๋น๊ตํ๋ฉด False๊ฐ ๋์ด.
- 1์ ์ ์ ๊ฐ์ฒด, 1.0์ ์ค์ ๊ฐ์ฒด์ด๋ฏ๋ก ๋ ๊ฐ์ฒด๋ ์๋ก ๋ค๋ฅด๊ธฐ ๋๋ฌธ.
- is, is not์ ํด๋์ค๋ก ๊ฐ์ฒด๋ฅผ ๋ง๋ ๋ค ๊ฐ์ฒด๊ฐ ์๋ก ๊ฐ์์ง ๋น๊ตํ ๋ ์ฃผ๋ก ์ฌ์ฉ.
| ์ ์ ๊ฐ์ฒด์ ์ค์ ๊ฐ์ฒด๊ฐ ์๋ก ๋ค๋ฅธ ๊ฒ์ ์ด๋ป๊ฒ ํ์ธํ ๊น?
- id ํจ์๋ฅผ ์ฌ์ฉ.
- id๋ ๊ฐ์ฒด์ ๊ณ ์ ํ ๊ฐ(๋ฉ๋ชจ๋ฆฌ ์ฃผ์)๋ฅผ ๊ตฌํจ. ( ์ด ๊ฐ์ ํ์ด์ฌ์ ์คํํ๋ ๋์์๋ ๊ณ์ ์ ์ง๋๋ฉฐ ๋ค์ ์คํํ๋ฉด ๋ฌ๋ผ์ง.
>>> id(1)
1714767504
>>> id(1.0)
55320032
- ๋ ๊ฐ์ฒด์ ๊ณ ์ ํ ๊ฐ์ด ๋ค๋ฅด๋ฏ๋ก ์๋ก ๋ค๋ฅธ ๊ฐ์ฒด.
| ๊ฐ ๋น๊ต์ is๋ฅผ ์ฐ์ง ์๊ธฐ
- ๊ฐ์ ๋น๊ตํ ๋๋ is๋ฅผ ์ฐ๋ฉด ์๋จ.
>>> a = -5
>>> a is -5
True
>>> a = -6
>>> a is -6
False
- a์ -5๋ฅผ ํ ๋นํ ๋ค, a is -5๋ฅผ ์คํํ๋ฉด True๊ฐ ๋์ค์ง๋ง ๋ค์ -6์ ํ ๋นํ ๋ค a is -6์ ์คํํ๋ฉด False๊ฐ ๋์ด.
- ๋ณ์ a๊ฐ ์๋ ์ํ์์ ๋ค๋ฅธ ๊ฐ์ ํ ๋นํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ๋ฌ๋ผ์ง ์ ์๊ธฐ ๋๋ฌธ.
- ๋ฐ๋ผ์ ๋ค๋ฅธ ๊ฐ์ฒด๊ฐ ๋๋ฏ๋ก ๊ฐ์ด ๊ฐ๋๋ผ๋ is๋ก ๋น๊ตํ๋ฉด False๊ฐ ๋์ด.
- ๊ฐ(์ซ์)๋ฅผ ๋น๊ตํ ๋๋ is๊ฐ ์๋ ๋น๊ต ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด์ผ ํจ.
๐ a and b
>>> True and True
True
>>> True and False
False
>>> False and True
False
>>> False and False
False
- and๋ ๋ ๊ฐ์ด ๋ชจ๋ True์ฌ์ผ True. ํ๋๋ผ๋ False๋ฉด False.
๐ a or b
>>> True or True
True
>>> True or False
True
>>> False or True
True
>>> False or False
False
- or์ ๋ ๊ฐ ์ค ํ๋๋ผ๋ True์ด๋ฉด True. ๋ ๊ฐ์ด ๋ชจ๋ False์ฌ์ผ False.
๐ not x
>>> not True
False
>>> not False
True
- not์ ๋ ผ๋ฆฌ๊ฐ์ ๋ค์ง์.
๐ and, or, not
>>> not True and False or not False
True
- ๋ ผ๋ฆฌ ์ฐ์ฐ์๊ฐ ์ ํ๋์ ๋ค ๋ค์ด์์ผ๋ฉด, not, and, or ์์ผ๋ก ํ๋จ.
- not True์ not False๋ฅผ ํ๋จํ์ฌ False and False or True.
- ๋ค์ False and False๋ฅผ ํ๋จํ์ฌ Flase๊ฐ ๋์ด.
- False or True๋ฅผ ํ๋จํ๋ฉฐ True๊ฐ ๋์ด.
| ๋ ผ๋ฆฌ ์ฐ์ฐ์์ ๋น๊ต ์ฐ์ฐ์๋ฅผ ํจ๊ป ์ฌ์ฉํ๊ธฐ
>>> 10 == 10 and 10 != 5 # True and True
True
>>> 10 > 5 or 10 < 3 # True or False
True
>>> not 10 > 5 # not True
False
>>> not 1 is 1.0 # not False
True
- ๋น๊ต ์ฐ์ฐ์(is, is not, ==, !=, <, >, <=, >=)๋ฅผ ๋จผ์ ํ๋จํ๊ณ ๋ ผ๋ฆฌ ์ฐ์ฐ์(not, and, or)๋ฅผ ํ๋จ.
| ์ ์, ์ค์, ๋ฌธ์์ด์ bool๋ก ๋ง๋ค๊ธฐ
- ์ ์, ์ค์, ๋ฌธ์์ด์ ๋ถ๋ก ๋ง๋ค ๋๋ bool์ ์ฌ์ฉํ๋ฉด ๋จ.
- ์ ์ 1์ True, 0์ False.
- ๋ฌธ์์ด ๋ด์ฉ์ด ‘False’๋ผ๋ ๋ถ๋ก ๋ง๋ค๋ฉด True์.
- ์ฆ, ๋ฌธ์์ด์ ๋ด์ฉ ์์ฒด๋ ํ๋จํ์ง ์์ผ๋ฉฐ ๊ฐ์ด ์์ผ๋ฉด True.
>>> bool(1)
True
>>> bool(0)
False
>>> bool(1.5)
True
>>> bool('False')
True
- ์ ์ 0, ์ค์ 0.0 ์ด์ธ์ ๋ชจ๋ ์ซ์๋ True.
- ๋น ๋ฌธ์์ด ‘’,””๋ฅผ ์ ์ธํ ๋ชจ๋ ๋ฌธ์์ด์ True.
| ๋จ๋ฝ ํ๊ฐ
- ๋จ๋ฝํ๊ฐ : ์ฒซ ๋ฒ์งธ ๊ฐ๋ง์ผ๋ก ๊ฒฐ๊ณผ๊ฐ ํ์คํ ๋ ๋ ๋ฒ์งธ ๊ฐ์ ํ์ธํ์ง ์๋ ๋ฐฉ๋ฒ.
# ์ฒซ ๋ฒ์งธ ๊ฐ์ด ๊ฑฐ์ง์ด๋ฏ๋ก ๋ ๋ฒ์งธ ๊ฐ์ ํ์ธํ์ง ์๊ณ ๊ฑฐ์ง์ผ๋ก ๊ฒฐ์
print(False and True) # False
print(False and False) # False
# ์ฒซ ๋ฒ์งธ ๊ฐ์ด ์ฐธ์ด๋ฏ๋ก ๋ ๋ฒ์งธ ๊ฐ์ ํ์ธํ์ง ์๊ณ ์ฐธ์ผ๋ก ๊ฒฐ์
print(True or True) # True
print(True or False) # True
>>> True and 'Python'
'Python'
- ๋ฌธ์์ด ‘Python’๋ ๋ถ๋ก ๋ฐ์ง๋ฉด True๋ผ์ True and True๊ฐ ๋์ด True๊ฐ ๋์ฌ ๊ฒ ๊ฐ์ง๋ง ‘Python’์ด ๋์ด.
- ํ์ด์ฌ์์ ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ ๋ง์ง๋ง์ผ๋ก ๋จ๋ฝ ํ๊ฐ๋ฅผ ์ค์ํ ๊ฐ์ ๊ทธ๋๋ก ๋ฐํํ๊ธฐ ๋๋ฌธ.
- ๋ฐ๋ผ์ ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ ๋ฌด์กฐ๊ฑด ๋ถ์ ๋ฐํํ์ง ์์.
>>> 'Python' and True
True
>>> 'Python' and False
False
- ๋ง์ง๋ง์ผ๋ก ๋จ๋ฝ ํ๊ฐ๋ฅผ ์ค์ํ ๊ฐ์ด ๋ถ์ด๋ฉด ๋ถ์ ๋ฐํ.
- ์ฌ๊ธฐ์๋ ๋ฌธ์์ด ‘Python’์ True๋ก ์ณ์ and ์ฐ์ฐ์๊ฐ ๋ ๋ฒ์งธ ๊ฐ๊น์ง ํ์ธํ๋ฏ๋ก ๋ ๋ฒ์งธ ๊ฐ์ด ๋ฐํ.
>>> False and 'Python'
False
>>> 0 and 'Python' # 0์ False์ด๋ฏ๋ก and ์ฐ์ฐ์๋ ๋ ๋ฒ์งธ ๊ฐ์ ํ๊ฐํ์ง ์์
0
- and ์ฐ์ฐ์ ์์ False๋ False๋ก ์น๋ ๊ฐ์ด ์์ ์ฒซ ๋ฒ์งธ ๊ฐ ๋ง์ผ๋ก ๊ฒฐ๊ณผ๊ฐ ๊ฒฐ์ ๋๋ ๊ฒฝ์ฐ์๋ ์ฒซ ๋ฒ์งธ ๊ฐ์ด ๋ณํ.
>>> True or 'Python'
True
>>> 'Python' or True
'Python'
- or ์ฐ์ฐ์๋ ๋ง์ง๋ง์ผ๋ก ๋จ๋ฝ ํ๊ฐ๋ฅผ ์ค์ํ ๊ฐ์ด ๋ฐํ๋จ.
- or ์ฐ์ฐ์์์ ์ฒซ ๋ฒ์งธ ๊ฐ๋ง์ผ๋ก ๊ฒฐ๊ณผ๊ฐ ๊ฒฐ์ ๋๋ฏ๋ก ์ฒซ ๋ฒ์งธ ๊ฐ์ด ๋ฐํ๋จ.
>>> False or 'Python'
'Python'
>>> 0 or False
False
- ๋ง์ฝ ๋ ๋ฒ์งธ ๊ฐ๊น์ง ํ๋จํด์ผ ๋๋ค๋ฉด ๋ ๋ฒ์งธ ๊ฐ์ด ๋ฐํ๋จ.