반응형
LIST
def scope_test():
def do_local(): # 지역 변수 -> local spam
spam = "local spam"
def do_nonlocal(): # nonlocal 변수 ->nonlocal spam
nonlocal spam
spam = "nonlocal spam"
def do_globa(): # global 변수 -> global
global spam
spam = "global spam"
spam = "test spam"
do_local()
print("After local assignment:",spam)
do_nonlocal() #nonlocal 함수 : 전역제외, 가까이 있는 함수들을 둘러싸서 적용할 수 있도록함
print("After nonlocal assignment:",spam)
do_globa()
print("After global assignment:",spam)
scope_test()
print("In global scope:",spam)# global 함수 -> 현재 블록 전체에 적용되는 선
전역 변수 만들기
def d_is_10():
d = 10
print('d 값은 ',d,'입니다')
d_is_10()
d
Traceback (most recent call last):
File "/Users//PycharmProjects/untitled3/test.py", line 6, in <module>
d
NameError: name 'd' is not defined
# NameError생기는 이유 : 함수 실행 이후에 d가 함께 사라졌기 때문에, 에러 발생, but 전역 변수는 함수 안에서도 얼마든지 사용할 수 있음
x를 전역 함수로 사용하기
x = 10
def printx():
print(x)
printx()
오류 없이 결과가 출력되지만, 전역 변수 사용시 변수값이 바뀔 수도 있기 때문에 적절히 섞어서 쓰는 것이 중요함
함수 안에서 전역변수 만들기
def e_is_10():
global e
e = 10
print('e 값은 ',e,'입니다.')
e_is_10()
print(e)
함수가 끝나도, 값이 사라지지 않음
반응형
LIST
'파이썬' 카테고리의 다른 글
[자료구조] Array를 파이썬으로 구현하기 (0) | 2023.04.12 |
---|---|
자릿수 분리하기 (0) | 2023.02.05 |
[자료구조] 시간 복잡도와 공간 복잡도 (0) | 2023.01.16 |
No module named ’win32com’ error (0) | 2022.11.02 |
VirusTotal API 이용해서 IP 검색하기(vtapi3 - VirusTotal in Python) (0) | 2022.10.27 |
댓글