์ค๋์ ํจ์์ ๋ํด ์์๋ด ์๋ค. ํจ์๋ ๋ญ๊น์?
์ํ์์ ๋ฐฐ์ด ํจ์์ ํ๋ก๊ทธ๋๋ฐ์์์ ํจ์๋ ๊ฐ๋ ์ด ์ฝ๊ฐ ๋ค๋ฆ ๋๋ค.
ํจ์๋, ์ฝ๋๋ฅผ ๊ธฐ๋ฅ ๋จ์๋ก ๋ฌถ์ด๋ ๊ฒ์ ๋งํฉ๋๋ค.
ํจ์๋ ๊ทธ ๊ธฐ๋ฅ ์์ฒด๊ฐ ํจ์์ ์กด์ฌ๋ชฉ์ ์ด ๋ฉ๋๋ค.
์์ง ์ดํด๋์ง ์์๋ ๊ด์ฐฎ์ต๋๋ค. ์ด๊ฒ์ ๊ฒ ์๋ฅผ ๋ค์ด๋ณด๊ณ ์จ ๋ณด๋ฉฐ ์ดํดํด ๋ด ์๋ค.
์ํ์ตํ์ฑ ์์ ๋ง์ด ๋ดค๋ ๊ทธ๋ฆผ
์๋ ์ธ์์ 2๋ฅผ ๊ณฑํ ๊ฐ์ ๋๋ ค์ฃผ๋ ํจ์๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ๊ทธ๋ฆฐ ๊ฒ์ ๋๋ค.
5๋ฅผ ๋ฃ์ผ๋ฉด 10์ ์ถ๋ ฅ ํ ๊ฒ๋๋ค. ์ด ํจ์์ ๊ธฐ๋ฅ์ด์ ๋ชฉ์ ์ ์ธ์์ 2๋ฅผ ๊ณฑํด ๋๋ ค์ฃผ๋ ๊ฒ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค.
ํจ์๋ ์ ํ์ํ ๊น์?
ํจ์๋ ํ์ด์ฌ ๋ฟ๋ง ์๋๋ผ ํ๋ก๊ทธ๋๋ฐ ์์ฒด์์ ๋งค์ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ํจ์์ ๊ธฐ๋ฅ์ ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด๋ณด๊ฒ ์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์๊ณผ์ผ์ฃผ์ค ์ง์์ ์ผ์ ํ๋ค๊ณ ์๊ฐํด๋ด ์๋ค.
๋ธ๊ธฐ์ฃผ์ค, ๋ฐ๋๋์ฃผ์ค, ํค์์ฃผ์ค ์ฃผ๋ฌธ์ด ๋ค์ด์๋ค๊ณ ํด์ ๊ฐ ๊ณผ์ผ๋ง๋ค ๋ฏน์๊ธฐ๋ฅผ ๋ฐ๋ก ๊ตฌ๋งคํ ํ์๊ฐ ์์๊น์?
์๋๊ฒ ์ฃ . ์ฐ๋ฆฌ๋ ๋ฏน์๊ธฐ ํ ๋๋ฅผ ๊ฐ์ง๊ณ ๋ธ๊ธฐ๋ฅผ ๋ฃ์ด ๋ธ๊ธฐ์ฃผ์ค๋ฅผ, ๋ฐ๋๋๋ฅผ ๋ฃ์ด ๋ฐ๋๋ ์ฃผ์ค๋ฅผ ๋ง๋ค๋ฉด ๋ฉ๋๋ค.
ํจ์๊ฐ ๋ฐ๋ก ์ด๋ฐ ๋ฏน์๊ธฐ ์ญํ ์ ํฉ๋๋ค.
๊ฐ ๊ณผ์ผ๋ง๋ค ์ ์ฉ๋ฏน์๊ธฐ๋ฅผ ๊ตฌ๋งคํ์ง ์์๋ ๋๋๊น ๋น์ฉ์ด ์ ๊ฐ๋๋ ๊ฒ์ฒ๋ผ ๊ฐ์ ์ฝ๋๋ฅผ ์ฌ๋ฌ ๋ฒ ์จ์ฃผ์ง ์์๋ ๋๋ ์ฝ๋์ ์์ด ํ์คํ ์ค์ด๋ญ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ค๋ช ํด๋ณด๊ฒ ์ต๋๋ค. ์ธ์คํ๊ทธ๋จ์ ๋ง๋ ๋ค๊ณ ์๊ฐํด๋ด ์๋ค.
์ฐ๋ฆฌ๋ ํ์ํ ๊ธฐ๋ฅ๋ค์ ํ๋์ ๋ฉ์ด๋ฆฌ๋ก ๋ฌถ์ด ์์ฒญ๋๊ฒ ๊ธด ์ฝ๋๋ฅผ ๋ง๋ค ์๋ ์๊ฒ ์ฃ .
์ค๋ฅ๊ฐ ๋๋ฉด ํฐ ๋ฉ์ด๋ฆฌ๋ฅผ ๋ค์ ์ฌ์ ์ด๋๊ฐ ํ๋ ธ๋์ง ์ฐพ๊ณ ๊ณ ์ณ์ผ๋ง ํฉ๋๋ค.
ํ์ง๋ง ์ด๋ฐ ๊ธฐ๋ฅ๋ค์ ์ชผ๊ฐ์ ๊ฐ๊ฐ์ ํจ์๋ก ๋ง๋ค์ด ๋๋ค๋ฉด ์ง๊ด์ ์ด๊ณ ์์ ์ด ์ฌ์ด ์ฝ๋๋ก ๋ง๋ค ์ ์์ต๋๋ค.
์ค๋ฅ ๋ํ ์ด๋ ํจ์์์ ๋ฐ์ํ๋์ง๋ง ์ฐพ๋๋ค๋ฉด ์ฝ๊ฒ ๊ณ ์น ์ ์์ต๋๋ค.
์ฆ ํจ์๋, ์์ฒญ๋๊ฒ ๊ธธ๊ณ ๋ณต์กํ ์ฝ๋๋ฅผ ๊ธฐ๋ฅ๋ณ๋ก ๋๋ ์ ๋จ์ํ๊ฒ ๋ง๋ค์ด์ฃผ๋ฉฐ ๊ฐ์ ์ฝ๋๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉํ์ง ์์๋ ๋๊ฒ๋ ํด์ฃผ๋ ๋ฌธ๋ฒ์ ๋๋ค.
๊ทธ๋ผ! ํจ์๋ฅผ ์ง์ ๋ง๋ค์ด ๋ด ์๋ค.
# ํจ์์ ๊ตฌ์ฑ
def ํจ์์ด๋ฆ(์ธ์) :
์คํ์ฝ๋
๋ฆฌํด๊ฐ
# ๋ฆฌํด๊ฐ์ด ์๋ ํจ์
def printHello(name) :
print(name)
# ๋ฆฌํด๊ฐ์ด ์๋ ํจ์
def sumNumber(num1,num2) :
return num1 + num2def๋ define์ ์ค์๋ง๋ก, ํจ์๋ฅผ ์ ์ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํค์๋์
๋๋ค.
์ธ์๋ฅผ ๋ฐ๋ ํจ์ ์ด๋ฆ์ ์ ์ํ๊ณ ๊ทธ ์์ ํจ์ ๋ด์์ ์คํํ ์ฝ๋์ ๋ฆฌํด๊ฐ์ ์ ์ด์ฃผ๋ ๊ฒ ๊ธฐ๋ณธ์ ์ธ ํจ์์ ๊ตฌ์กฐ์ ๋๋ค.
ํจ์๋ ์ธ์๋ผ๋ ์ฌ๋ฃ๋ฅผ ๋ฐ์ ์คํ์ฝ๋๋ฅผ ๊ฑฐ์น๊ณ ๋ฆฌํด๊ฐ์ ๋ง๋ค์ด ๋๋ ค์ค๋๋ค.
๋ฆฌํด๊ฐ์ด๋ ํจ์๊ฐ ์ ๊ธฐ๋ฅ์ ๋ค ํ ๊ฒฐ๊ณผ๋ฅผ ๋งํฉ๋๋ค.
๋ฆฌํด๊ฐ์ ์๊ฑฐ๋ ๋จ ํ๋๋ง ์กด์ฌํ ์ ์์ต๋๋ค.
ํจ์๋ ๋ ๋ฆฝ์ ์ธ ํ๋์ ์ฝ๋ ๋ฉ์ด๋ฆฌ์ ๋๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ๊ฐ์ ํจ์๊ฐ ์กด์ฌํ ๋ ๊ทธ ํจ์๋ค์ ๊ฐ๊ฐ ๊ทธ ํจ์๋ง์ ์ธ๊ณ๋ฅผ ๊ฐ๊ณ ์๋ค๊ณ ์ดํดํ ์ ์์ต๋๋ค.
๊ฐ๊ฐ์ ํจ์ ์์์๋ง ์ํฅ๋ ฅ์ ๊ฐ๋ ๋ณ์๋ฅผ ์ง์ญ๋ณ์๋ผ๊ณ ํฉ๋๋ค.
์ด๋ฌํ ์ง์ญ๋ณ์๋ ์ ์ฒด ์์ญ์ด๋ ๋ค๋ฅธ ํจ์์๊ฒ ์ํฅ์ ์ค ์ ์์ต๋๋ค.
ํ์ง๋ง ํจ์๋ฅผ ํฌํจํ ์ ์ฒด ์์ญ์์ ์ํฅ๋ ฅ์ ๊ฐ๋ ๋ณ์๋ ์์ต๋๋ค.
์ด๋ฌํ ๋ณ์๋ฅผ ์ ์ญ๋ณ์๋ผ๊ณ ํฉ๋๋ค.
ํจ์ ๋ฐ๊นฅ์ ์ ์ธํ๊ฑฐ๋, ํจ์ ์์์ global ํค์๋๋ฅผ ์ฌ์ฉํด ์ ์ญ๋ณ์๋ฅผ ์ ์ธํ ์ ์์ต๋๋ค.
# ์ ์ญ๋ณ์, ์ง์ญ๋ณ์ ์ดํดํ๊ธฐ
a = 2
def test() :
global b
b = 34
c = 50
print("inside test", a)
print("inside test", b)
print("inside test", c)
test()
print("after test", a)
print("after test", b)
print("after test", c)์, ์์ค๋ฅผ ๋ด ์๋ค.
a๋ ํจ์ ๋ฐ๊นฅ์ ์ ์ธ๋์ด ์๋ ์ ์ญ๋ณ์์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ b๋ ํจ์ ์์ global ํค์๋๋ฅผ ํตํด ์ ์ธ๋ ์ ์ญ๋ณ์์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ c๋ ํจ์ ์์ ์ ์ธ๋ ์ง์ญ๋ณ์์ ๋๋ค. ์์ฒ๋ผ ํ์ดํํ๊ณ ์คํํด๋ด ์๋ค.
a์ b๋ ์ ์ญ๋ณ์์ด๋ ํจ์ ์์์๋ ๋ฐ๊นฅ์์๋ ๊ฐ์ด ์ถ๋ ฅ๋ฉ๋๋ค.
ํ์ง๋ง c๋ ํจ์๋ด์์ ์ ์ธ๋ ์ง์ญ๋ณ์์ด๋ ํจ์ ๋ฐ๊นฅ์์ ๊ฐ์ ์ฐพ์ง ๋ชปํด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ ์ญ๋ณ์๋ ์ง์ํด์ผ ํฉ๋๋ค.
ํจ์๋ ์ฝ๋๋ฅผ ๊ธฐ๋ฅ๋ณ๋ก ์ ๋ฆฌํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ๋ฌธ๋ฒ์ ๋๋ค.
์ ์ญ๋ณ์๋ ๋ชจ๋ ํจ์๋ค์ ์ํฅ์ ๋ผ์น ์ ์๊ณ ๊ฒฐ๊ตญ ํจ์์ ์๋ฏธ์์ฒด๋ฅผ ๋ถํ์คํ๊ฒ ๋ง๋ค์ด๋ฒ๋ฆด ์ ์์ต๋๋ค.
์ ์ญ๋ณ์๋ผ๋ ๊ฒ๋ ์๊ตฌ๋, ํ์ง๋ง ๊ผญ ํ์ํ์ง ์์ผ๋ฉด ์ฌ์ฉํ์ง ์๋ ๊ฒ ์ข๋ค! ํ๊ณ ์ดํดํ์๋ฉด ์๋ฒฝํฉ๋๋ค.
.png)
.png)
.png)