
์ง์ญ๋ณ์(Local Variable)
์๋ฅผ ๋ค์ด ์ฐ๋ฆฌ๋๋ผ์ ๊ฐ์๋ฅผ ์ ์ฃผ๋์์๋ง ๊ณ ๊ตฌ๋ง๋ผ๊ณ ์นญํ๋ค๊ณ ํ์.
๊ทธ๊ฑธ ์ฝ๋๋ก ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
def jeju_potato():
potato = "๊ณ ๊ตฌ๋ง"
print(potato)
jeju_potato()
jeju_potatoํจ์ ์์ ์๋ potato๋ณ์๋ ํจ์ ๋ด์์๋ง ํ์ฉํ ์ ์๋ค.
๋ง์ฝ ํจ์ ๋ฐ์์ potato๋ณ์๋ฅผ ์ถ๋ ฅํ๋ ค๊ณ ํ๋ฉด ์๋ฌ๊ฐ ๋ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ ์ง์ญ๋ณ์๋ ํจ์ ๋ด์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํ ๋ณ์๋ฅผ ์ง์ญ ๋ณ์๋ผ ๊ณ ํ๋ค.
์ ์ญ ๋ณ์(Global Variable)
potato = "๊ฐ์"
def jeju_potato():
print(potato)
jeju_potato()
print(potato)
์ด๋ ๊ฒ ํจ์ ๋ฐ์์ ์ ์ธํ ๋ณ์๋ฅผ ์ ์ญ ๋ณ์๋ผ ๊ณ ํ๋ค.
์ง์ญ ๋ณ์์ ๋ฌ๋ฆฌ ๊ทธ๋ฅ potato๋ฅผ ์ถ๋ ฅํด๋ ๊ณ ๊ตฌ๋ง๊ฐ ์ ์ถ๋ ฅ์ด ๋๋ค.
์ด๋ ๊ฒ ์ ์ญ์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ณ์๋ฅผ ์ ์ญ ๋ณ์๋ผ๊ณ ํ๋ค.
potato = "๊ณ ๊ตฌ๋ง"
def jeju_potato():
print(potato)
potato = "๊ณ ๊ตฌ๋ง"
print(potato)
jeju_potato()
์ ์ฝ๋๋ฅผ ์คํํ๊ฒ ๋๋ฉด Error๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค.
์ง์ญ๋ณ์ potato์ ๊ณ ๊ตฌ๋ง๋ฅผ ํ ๋นํ๊ธฐ ์ ์ potato๋ฅผ ์ถ๋ ฅํ๋ ค๊ณ ํ๊ธฐ ๋๋ฌธ์ Error๊ฐ ๋ฐ์ํ ๊ฒ์ด๋ค.
ํจ์๋ด์์ ์ ์ญ ๋ณ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ Globalํค์๋๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
potato = "๊ฐ์"
def jeju_potato():
global potato
print(potato)
potato = "๊ณ ๊ตฌ๋ง"
print(potato)
jeju_potato()
์ด๋ ๊ฒ globalํค์๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ญ ๋ณ์๋ฅผ ์ฌ์ฉํ๊ฒ๋ค๋ ์๋ฏธ์์ผ๋ก ์ ์ญ๋ณ์ potato๊ฐ ๊ณ ๊ตฌ๋ง๋ก ์๋ก ํ ๋น๋๊ฒ ๋๋ค.
๋งค๊ฐ๋ณ์
์ผ๋ฐ์ ์ธ ๋งค๊ฐ๋ณ์๋ ์ธ์์ ๊ฐ์์ ๋งค๊ฐ๋ณ์์ ๊ฐ์๊ฐ ๋์ผํด์ผ์ง๋ง ์๋ฌ๊ฐ ์์ด ์คํ์ด ๋๋ค.
def add(num1,num2 = 20):
return num1 + num2
print(add(10))
์ ์ฝ๋์์ num2์ 20์ ํ ๋นํด์ฃผ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ธ์๋ก ํ ๊ฐ์ ๊ฐ๋ง ์ฃผ์ด๋ ์คํ์ด ๋๋ค.
ํ ๊ฐ์ง ์ฃผ์ํ ์ ์, ํ ๋นํ๋ ๋งค๊ฐ๋ณ์๋ ์ผ๋ฐ ๋งค๊ฐ๋ณ์๋ณด๋ค ์์ ์์ ์ ์๋ค.
์ธ์ ๊ฐ์ด ์ฒ์ ๋งค๊ฐ๋ณ์๋ถํฐ ํ ๋น์ด ๋๊ธฐ ๋๋ฌธ์ Error๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค.
๋ํ ๋ด๊ฐ ์ํ๋ ๋งค๊ฐ๋ณ์์๋ง ํ ๋นํ ์๋ ์๋ค.
def add(num1,num2 = 20,num3 = 30):
return num1 + num2 + num3
print(add(num1 = 10 , num3 = 2)) → 32
์ด๋ ๊ฒ num1๊ณผ num3์ 10๊ณผ 2๋ฅผ ๋ฐ๋ก ์ธ์๋ก ํ ๋น์ ํด์ฃผ๋ฉด
num1์๋ 10 num3์๋ 30์ด ์๋ 2๊ฐ ํ ๋น์ด ๋์ด 32๊ฐ ์ถ๋ ฅ์ด ๋๋ค.
๊ฐ๋ณ ๋งค๊ฐ๋ณ์
๊ฐ๋ณ ๋งค๊ฐ๋ณ์๋ ์ธ์ ๊ฐ์ผ๋ก ๋ช๊ฐ๋ฅผ ์ฃผ์ด๋ ๋ณ์์ ๋ด์์ ์๋ค.
def add(*args):
sum = 0
for i in args:
sum += i
print(sum)
add(10,20,30,40)
์ด๋ ๊ฒ addํจ์์ ๋งค๊ฐ๋ณ์๋ 1๊ฐ์ง๋ง ์ธ์๊ฐ์ผ๋ก 4๊ฐ์ ์ ์๋ฅผ ์ฃผ์๋ค.
ํ์ง๋ง 100์ด๋ผ๋ ์ซ์๊ฐ ์ถ๋ ฅ์ด ๋๋ค.
๊ฐ๋ณ ๋งค๊ฐ๋ณ์๋ ์์คํฐ ๋ฆฌ์คํฌ(*)๋ฅผ ํตํด ์ฌ์ฉํ ์ ์๋ค.
๊ฐ๋ณ ๋งค๊ฐ๋ณ์๋ ์ผ๋ฐ ๋งค๊ฐ๋ณ์ ์์ ๋ ์ ์๋ค.
def add(*args):
return args
print(add(10,20,30,40))
→ (10, 20, 30, 40)
์ด๋ ๊ฒ ๊ฐ๋ณ ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐํํ๊ฒ ๋๋ฉด Tupleํํ๋ก ๋ฐํํ๋ ๊ฑธ ํ์ธํ ์ ์๋ค.
ํค์๋ ๋งค๊ฐ๋ณ์
ํค์๋ = ํน์ ๊ฐ ํํ๋ก {"ํค์๋":"ํน์ ๊ฐ"}
ํค์๋ ๋งค๊ฐ๋ณ์๋ ์์คํฐ ๋ฆฌ์คํฌ(*) ๋ ๊ฐ๋ก ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
ํค์๋ ๋งค๊ฐ๋ณ์๋ Dictionaryํํ๋ก ํค์๋ ๋งค๊ฐ๋ณ์์ ์ ๋ฌํ๋ ๊ฒ์ด๋ค.
def star_player(**kwargs):
for i in kwargs.items():
print(i)
star_player(์ถ๊ตฌ = "์ํฅ๋ฏผ" , ์ผ๊ตฌ = "๋ฐ์ฉํ" , ๋๊ตฌ = "ํ์ฌ")
→ ('์ถ๊ตฌ', '์ํฅ๋ฏผ')
('์ผ๊ตฌ', '๋ฐ์ฉํ')
('๋๊ตฌ', 'ํ์ฌ')
์ด๋ ๊ฒ key๊ฐ๊ณผ value๊ฐ์ผ๋ก ์ ๋ฌ์ ํ๋ฉด ์ฌ์ฉํ ์ ์๋ค.
def func_a(name, *args, address = "ํ๊ตญ", **kwargs):
print(name , args, address , kwargs)
func_a("ํ๊ธธ๋","์๋ ","์ฌ๋",address="ํ์",์ง์
= "๋๋")
๋งค๊ฐ๋ณ์์ ์ ์ธ ์์๋ ์์ ๊ฐ๋ค.
์ผ๋ฐ ๋งค๊ฐ๋ณ์ , ๊ฐ๋ณ ๋งค๊ฐ๋ณ์ , ํค์๋ ๋งค๊ฐ๋ณ์
์์๊ฐ ๋ค๋ฅด๋ฉด Error๊ฐ ๋ฐ์ํ๋ค.
ํ์ด์ฌ์ ๋ด์ฅ ํจ์๋ ์ ๋ง ๋ง๋ค. ๊ทธ๋ฌ๋ ์๊ฐ์ด ๋ ๋๋ง๋ค ํ์ด์ฌ ํํ์ด์ง(python.org)์์ ๋ด์ฅ ํจ์๋ฅผ
ํํ์ด ํ์ธํ๋๋ก ํ์.
'๐จ๏ธ Backend > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Python]์์ธ ์ฒ๋ฆฌ (0) | 2022.09.03 |
|---|---|
| [Python]๊ฐ์ฒด (0) | 2022.09.03 |
| [Python]ํจ์ (0) | 2022.09.02 |
| [Python]for๋ฐ๋ณต๋ฌธ (0) | 2022.09.02 |
| [Python]while ๊ตฌ๋ฌธ ๋ฐ rangeํจ์ (0) | 2022.09.01 |