def fun(var): var = 1314 print(var, end='') var = 520 fun(var) print(var)
因为传得是值,不是内存地址。
虽然你的第二行给var赋值1314,但是你在第四行再次对var赋值,改变了var,后面又将这个var的值,也就是520通过fun函数传入,取代了1314。就是这么简单。