1์ฃผ์ฐจ ํ์์ผ
- ๋ณ์, ๋ฉ๋ชจ๋ฆฌ, ๋ฆฌ์คํธ
- ์กฐ๊ฑด๊ณผ ๋ฐ๋ณต๋ฌธ
- ๋ฌธ์์ด, ํจ์
๋ณ์ : ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ ์ด๋ฆ
๋ณ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ฅผ ๋ด๊ณ ์์ผ๋ฉฐ, ๋ณ์์ ํ ๋น๋๋ ๊ฐ์ ๊ทธ ์ฃผ์์ ํด๋นํ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ค.
A=1 : A๋ผ๋ ์ด๋ฆ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ฐ 1์ ์ ์ฅ
๋ฆฌ์คํธ : ๋์์ ์ฌ๋ฌ ๊ฐ์ด ์ ์ฅ๋จ
๋ฆฌ์คํธ ์ญ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ฅผ ๋ด๊ณ ์๋ค. ๋ ํผ๋ฐ์ค๋ฅผ ์ฐธ์กฐํ๋ค!
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
b = a
a = [0, 0, 0, 0]
print(b) # b๋ a๋ ๊ฐ์ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌ์ผ์ a๋ฅผ ๋ฐ๊พธ๋ฉด b๋ ๋ฐ๋๋ค
>> [0, 0, 0, 0]
๋ฆฌ์คํธ b์ ๋ฆฌ์คํธ a๊ฐ ๊ฐ์ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๊ธฐ ๋๋ฌธ์ a๊ฐ ๊ฐ๋ฆฌํค๋ ๋ฆฌ์คํธ [1, 2, 3, 4]๋ฅผ ์์ ํ์ ๋ b๋ ์์ ๋๋ ๊ฒ
๋ฆฌ์คํธ๋ mutable์ด๊ณ ์์๋ immutable์ด๋ผ์ ๊ทธ๋ฐ๊ฐ?
a = [1, 2, 3, 4, 5]
print(a[2:15])
>> [3, 4, 5]
==
๊ณผ is
==
์ ์์ชฝ ์๋ฃํ์ ๊ฐ์ ๋น๊ตํ๋ค.is
๋ ์์ชฝ ์๋ฃํ์ด ๊ฐ๋ฆฌํค๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๋น๊ตํ๋ค.๊ทธ๋ฐ๋ฐ...
a, b = 100, 100
print(a==b, a is b)
>> True, True
a, b = 300, 300
print(a==b, a is b)
>> True, False
ํ์ด์ฌ์ ์คํ๊ณผ ํจ๊ป -5~256๊น์ง์ ์์๋ฅผ ์ ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฏธ๋ฆฌ ๋ก๋ํด ๋๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ์ผ์ด ์ผ์ด๋๋ค.
๋น๊ต์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ์ธ -5~256์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋๊ณ , ์ด๋ค ๊ฐ์ ๋ณ์์ ํ ๋นํ๋ฉด ๋ก๋ํด ๋ ๊ฐ์ ์ฐ๊ฒฐํด ์ฃผ๋ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ a์ b๊ฐ 100์ผ ๋๋ ๋ ๋ณ์๊ฐ ๋ฏธ๋ฆฌ ํ ๋น๋ ๊ฐ์ 100์ ๊ฐ๋ฆฌํค๊ณ 300์ผ ๋๋ ๊ฐ๊ฐ ํ ๋น๋ ๋ ๊ฐ์ ๋ค๋ฅธ 300์ ๊ฐ๋ฆฌํจ๋ค.
์ ๊ณต์ด๋ ์ด๋ค ๋ถ์ผ๋ก ๊ฐ๊ณ ์ถ์์ง ์ด์ผ๊ธฐํ๋ฉฐ ์กฐ๊ธ ๋ ์นํด์ง๋ ์๊ฐ์ ๊ฐ์ก๋ค.
์ค์ ์ ๋ค์ ๊ฐ์์์ ๋ชฐ๋๋ ๋ด์ฉ๋ ์๊ธฐํ๊ณ ground rule๋ ๋ ๋ณด๊ฐํ๋ค.