일부 언어에서는 ref 또는 val 과 같은 특수 예약어를 사용하여 참조 또는 값으로 매개 변수를 전달할 수 있습니다 . Python 함수에 매개 변수를 전달하면 함수를 떠날 때 매개 변수 값이 변경되지 않습니다.이를 수행하는 유일한 방법은 전역 예약어 를 사용하는 것입니다 (또는 현재 이해하고 있음).
예 1 :
k = 2
def foo (n):
n = n * n #clarity regarding comment below
square = n
return square
j = foo(k)
print j
print k
보여줄 것이다
>>4
>>2
k가 변경되지 않음을 표시
이 예에서 변수 n은 변경되지 않습니다.
예 2 :
n = 0
def foo():
global n
n = n * n
return n
이 예에서는 변수 n이 변경됩니다.
Python에서 함수를 호출 하고 매개 변수 가 전역을 사용하는 대신 값 또는 참조 매개 변수 임을 Python에 알리는 방법 이 있습니까?
둘째, A 레벨 Cambridge 시험에서 이제 함수는 단일 값을 반환하는 반면 프로시 저는 둘 이상의 값을 반환한다고 말합니다 . 80 년대에는 함수에 return 문이 있고 절차에는없는 것을 배웠습니다. 이제 이것이 잘못된 이유는 무엇입니까?