본문 바로가기
Python

[python] 함수 안에서 함수 밖의 변수를 변경하기

by clolee 2021. 12. 2.

파이썬 함수 안에서 함수 밖의 변수를 변경하기

 

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을 활용하는 방법이 더 좋다.

 

 

참고 :

https://wikidocs.net/24

댓글