def DFS1():
print(cnt)
def DFS2():
if cnt==5:
cnt=cnt+1
print(cnt)
if __name__ == '__main__':
cnt = 5
DFS1()
DFS2()
print(cnt)
์ ํจ์๋ ์๋ฌ๊ฐ ๋๋ค.
์๋ฌ๋ฅผ ๋ณด๋ฉด if cnt==5:
๋ฌธ์ด ์๋ชป๋์๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
if __name__ == '__main__':
๋ด์์ cnt=5 ๋ผ๊ณ ์ ์ญ๋ณ์๋ฅผ ์ ์ ์ธํ๊ณ , ๊ทธ๊ฑธ DFS2์์ ์ฐ๋๊ฒ ์๋๊ฐ? ์ถ์๋๋ฐ..
์๋ฌ ๋ด์ฉ์ "cnt์ ๊ฐ์ด ํ ๋น๋์ง ์์๋๋ฐ ์ฐธ์กฐํ์๋ค." ๋ผ๋ ๊ฒ์ด๋ค.
ํ์ด์ฌ์ ์์ค์ฝ๋๋ฅผ ์คํํ๊ธฐ ์ด์ ์ ํด์ํ๋ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
์๋ฌ๊ฐ ๋๋ ๋ฌธ์ฅ ๋ฐ๋ก ๋ค์ ๋ถ๋ถ์ cnt=cnt+1
๋ผ๋ ์ฝ๋๊ฐ ์ค๋๋ฐ ์ด๊ฒ์ cnt๋ผ๋ ์ง์ญ๋ณ์๋ฅผ ์๋ก ์์ฑํ๊ณ ์ ์ธํ๋ ๋ฌธ์ฅ์ด๋ค.
์ฆ, ํด์๊ธฐ๋ฅผ ํตํด cnt๊ฐ ์ง์ญ๋ณ์๋ผ๊ณ ์ธ์ด๋ฒ์ญ(ํด์)์ด ์ด๋ฏธ ๋ ์ํ์ธ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ ์๋ฌ๊ฐ ๋ if cnt==5:
์ cnt๋ ์ง์ญ๋ณ์๋ก ํด์๋๊ธฐ ๋๋ฌธ์ ๊ฐ์ด ์์ด ์๋ฌ๊ฐ ๋๋ค.
DFS2 ๋ด์์ cnt๋ฅผ ์ ์ญ๋ณ์ ๊ทธ๋๋ก ์ฐ๊ณ ์ถ๋ค๋ฉด ์๋์ ๊ฐ์ด global ํค์๋๋ฅผ ์ฐ๋ฉด ๋๋ค.
def DFS1():
print(cnt)
def DFS2():
global cnt
if cnt==5:
cnt=cnt+1
print(cnt)
if __name__ == '__main__':
cnt = 5
DFS1()
DFS2()
print(cnt)
# 5
# 6
# 6