函数中我们传入的参数是地址还是值
例子:def test(x):#函数传的是值还是地址? 传值是不能改变的 地址是可以改变的
x[0] = 2
print(id(x))
print(x)
i=[1,2,3,4,5]
print(id(i))
test(i)
for j in i:
print(j)
发现传送的是传送的是地址(类似Java的强引用)
原先I发生改变
如果反过来 参数不喜欢被改变可以
test(list(i)) 消除强引用,参数这个时候传入的就是值,地址发生改变
i 没变
for j in i:
print(j)
变量的作用域
i = 10
def num():
global i #不建议这样操作
i += 10
print(i)
num()
python函数的重载是不可以的,非要只会根据位置关系覆盖