파이썬 함수 안에서 함수 밖의 변수를 변경하기
1. return 사용
변경하고자 하는 변수를 함수의 매개변수로 받아 값을 변경시킨 뒤 return 으로 결과 값을 반환한다.
a = 0
def vartest(value):
num_list = list(range(1, 11))
for num in num_list:
value += num
return value
a = vartest(a)
print("new a = ", a)
2. global 명령어 사용
함수 밖의 변수를 함수 안에서 global 변수로 선언하여 함수 밖의 변수를 함수 안에서 사용한다.
함수 밖의 변수 a를 vartest() 함수 안에서 global 변수로 사용하기 때문에 vartest() 함수를 실행한 후 a를 출력해보면 a의 값이 변화된 것을 확인할 수 있다.
a = 0
def vartest():
global a
num_list = list(range(1, 11))
for num in num_list:
a += num
vartest()
print("new a = ", a)
하지만 함수는 독립적으로 존재하는 것이 좋다. 외부 변수에 종속적인 함수는 좋은 함수가 아니다. 프로그래밍을 할 때 global 명령어를 사용하지 않는 것이 좋다.
함수 안에서 함수 밖의 변수를 변경하고자 할 때 global 명령어를 사용하는 방법보다 return을 활용하는 방법이 더 좋다.
참고 :
'Python' 카테고리의 다른 글
[python] 파이썬 숫자 각 자리수 분리 (0) | 2021.12.17 |
---|---|
[python] 함수 실행 후 None이 출력 될 때 (0) | 2021.12.17 |
[python] dictionary key error 해결 하여 key 접근 방법 (0) | 2021.11.29 |
[python] 파이썬 람다 함수 사용하기 (python lambda expression) (0) | 2021.10.25 |
[python] Dataframe column 명 변경, column 순서 변경 (0) | 2021.10.21 |
댓글