1. mutable & immutable
๐ฉ๐ป๐ป mutable : ์์ฑ๋ ํ์๋ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ ์๋ฃํ
ex. list, set, dict
๐ฉ๐ป๐ป immutable : ์์ฑ๋ ํ์๋ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ ์๋ฃํ
ex. int, float, str, tuple
# mutable
# ํ ๋น๋ฐ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋ฐ๊ฟ ์ ์์
# id() : ๊ฐ์ฒด์ ๊ณ ์ ๊ฐ ๋ฐํ. ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ตฌ๋ณํ๊ธฐ ์ํ ์ฉ๋๋ก ์ฌ์ฉ
me = [1, 2, 3]
print(id(me)) # 4370596288
me.append(4)
print(id(me)) # 4370596288 / ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ ๋ณ๊ฒฝ์ด ๋์ง ์์
# immutable
# ํ ๋ฒ ์์ฑํ๋ฉด ์ต์ด๋ก ์ ์ฅ๋ ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋ฐ๊ฟ ์ ์์
obj = 10
print(id(obj)) # 4343431696
obj = obj + 1
print(obj) # 11
print(id(obj)) # 4343431728 / ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ๋ณ๊ฒฝ์ด ๋จ
# ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ ๊ฒ์ด ์๋๋ผ, ์๋ก ํ ๋น์ ๋ฐ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ
2. % ์ฐ์ฐ์
%s : string %f : float %d : decimal (์ญ์ง๋ฒ) |
name = 'Kai'
print('๋ด ์ด๋ฆ์ %s ์
๋๋ค.' % name) # ๋ด ์ด๋ฆ์ Kai ์
๋๋ค.
print('๋ด ์ด๋ฆ์ ', name, '์
๋๋ค.', sep='')
print('๋ด ์ด๋ฆ์ ' + name + '์
๋๋ค.')
height = 120.5
print('๋ด ํค๋ %fcm์
๋๋ค.' % height) # ๋ด ํค๋ 120.500000cm์
๋๋ค.
weight = 23.55
print('๋ด ๋ชธ๋ฌด๊ฒ๋ %.1fkg์
๋๋ค.' % weight) # ๋ด ๋ชธ๋ฌด๊ฒ๋ 23.6kg์
๋๋ค.
year, month, day = 2014, 8, 25
print('๋ด ์์ผ์ %d๋
%d์ %d์ผ ์
๋๋ค.' % (year, month, day))
# ๋ด ์์ผ์ 2014๋
8์ 25์ผ ์
๋๋ค.
3. ์ผํญ ์กฐ๊ฑด ์ฐ์ฐ์
๐ฉ๐ป๐ป ์ผ๋ฐ์ ์ธ ์ผํญ ์กฐ๊ฑด ์ฐ์ฐ์ : ์กฐ๊ฑด์ ? ์ฐธ : ๊ฑฐ์ง
๐ฉ๐ป๐ป ํ์ด์ฌ ์ผํญ ์กฐ๊ฑด ์ฐ์ฐ์ : ์ฐธ if ์กฐ๊ฑด์ else ๊ฑฐ์ง
a = 10
b = 20
result = (a - b) if (a >= b) else (b - a)
print('{}๊ณผ {}์ ์ฐจ์ด๋ {}์
๋๋ค.'.format(a, b, result)) # 10๊ณผ 20์ ์ฐจ์ด๋ 10์
๋๋ค.
4. ์ง์ญ๋ณ์/์ ์ญ๋ณ์
1) ์ง์ญ ๋ณ์ local variable
๐ ํจ์ ๋ด๋ถ์์ ์ ์ธํ ๋ณ์๋ ํจ์ ๋ด๋ถ์์๋ง ์ฌ์ฉ. ํจ์ ์ธ๋ถ์์๋ ์ง์ญ๋ณ์์ ์ ๊ทผํ ์ ์์
def f():
a = 10
print(f'f()๋ด๋ถ : {a}')
f() # f() ๋ด๋ถ : 10
# print(f'f() ์ธ๋ถ : {a}') # ํจ์ ์ธ๋ถ์์๋ a ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์์
2) ์ ์ญ๋ณ์ global variable
๐ ํจ์ ์ธ๋ถ์์ ์ ์ธํ ๋ณ์๋ ํจ์ ๋ด๋ถ๋ ํจ์ ์ธ๋ถ์์ ๋ชจ๋ ์ฌ์ฉํ ์ ์์
def f():
print(f'f() ๋ด๋ถ : {b}')
b = 10 # ์ ์ญ๋ณ์
f() # f() ๋ด๋ถ 10
print(f'f() ์ธ๋ถ : {b}') # f() ์ธ๋ถ10
# 1) ์ ์ญ๋ณ์๋ฅผ ๋จ์ํ ์ฐธ์กฐ๋ง ํ๋ ๊ฒฝ์ฐ -> ์ฝ๊ธฐ๋ง ํ๋ ๊ฒฝ์ฐ
a = 0
def f():
print(a) # ํจ์ f() ๋ด๋ถ์์ ์ ์ญ๋ณ์ a๋ฅผ ์ฐธ์กฐ
f() # 0
print(a) # 0 / ํจ์ f() ์ธ๋ถ์์ ์ ์ญ๋ณ์ a๋ฅผ ์ฐธ์กฐ
# 2) ์ ์ญ๋ณ์์ ๊ฐ์ ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ
a = 0
def f():
global a # ์ ์ญ๋ณ์ a๋ฅผ ์ฌ์ฉ
a = 10 # ์ ์ญ๋ณ์ a์ ๊ฐ์ ๋ณ๊ฒฝ
f() # ํจ์ f() ์คํ
print(a) # 10 / ์ ์ญ๋ณ์์ ๋ณ๊ฒฝ๋ ๊ฐ์ ํ์ธ
[ ๋ด์ฉ ์ฐธ๊ณ : IT ํ์ ๊ฐ์ ]