Python/공부내용
Python 공부내용 21.10.09. Python - Scope(범위)
HappyFrog
2021. 10. 9. 17:52
W3Schools의 Python Tutorial을 보며 해석하고 정리한 글입니다.
오역이 존재할 수 있습니다
저도 파이썬은 처음이니 가볍게 봐주세요 :D
파이썬 범위
변수들은 그것이 생성된 지역 안에서만 사용 가능합니다. 이것을 scope(범위)라고 부릅니다.
Local Scope(지역 범위)
함수 내에서 생성된 변수들은 그 함수의 지역 범위에 귀속됩니다. 그리고 그 함수의 안에서만 사용가능합니다.
def myfunc():
x = 300
print(x)
myfunc()
함수 안의 함수
위에서 설명했듯이, 변수 x 는 함수 바깥에서는 사용할 수 없습니다. 하지만 해당 함수 안에있는 함수들에서는 사용할 수 있습니다.
def myfunc():
x = 300
def myinnerfunc():
print(x)
myinnerfunc()
myfunc()
Global Scope (전역 범위)
파이썬 코드의 메인 부분에서 생성된 변수는 전역변수이며 전역범위에 귀속됩니다.
전역변수는 지역(local)과 전역(global) 어느 범위에서든 사용가능합니다.
x = 300
def myfunc():
print(x)
myfunc()
print(x)
변수 이름짓기
만약 당신이 함수 안과 바깥쪽에서 같은 변수이름으로 작업을 하려한다면, 파이썬은 그들을 두가지 다른 변수들로 나누어 다룰것입니다. 하나는 전역 범위(함수 바깥)로써 다루고 또다른 하나는 지역 범위(함수 안쪽)로써 다룰 것입니다.
x = 300
def myfunc():
x = 200
print(x)
myfunc()
print(x)
Global 키워드
만약 당신이 전역 변수를 만들어야 하는데 지역 범위에 막혀버렸다면, 당신은 global 키워드를 사용할 수 있습니다.
global 키워드는 변수의 사용 범위를 전역 범위로 만들어줍니다.
def myfunc():
global x
x = 300
myfunc()
print(x)
또한 당신이 함수 안의 변수를 전역 범위로 바꾸고 싶다면 global 키워드를 사용하면 됩니다.
x = 300
def myfunc():
global x
x = 200
myfunc()
print(x)