2016-10-29 1 views
-4
예를 들어

,이유는이 두 가지 기능이없는 같은 형태로 반환 할

def T(x): 
for i in range(1,len(x)-1): 
     x[i]+=x[i-1]+2 

def f(x): 
    x=x+2 
    return x 

x=[1,2,3,4,5] 
;T(x) 
;print(x) 
[1, 5, 10, 16, 5] 

이 경우 변수 x의 변화하지만,

x=3 
;f(x) 
;print(x) 
x=3 

X이 경우 변경되지 않습니다.

왜 이런 일이 발생합니까?

+1

목록은 변경 가능하며 int는 변경되지 않습니다. –

답변

1

일반적으로 변경할 수있는 개체는 참조로 전달되며 변경되지 않는 개체는 참조로 전달되며 변경되지 않는 개체는 값으로 전달됩니다.

x = 3 
x = f(x) 
print(x) 

당신이 더 많은 정보를 원하시면이 web을 확인할 수 있습니다 : (1)로

이 같은 결과를 얻으려면.

관련 문제