函数的参数可变or不可变
在Python中,我想要使用函数,这是没有问题的。但是如果你想使用带有参数的问题,有一个问题你是不可以不想的。那就是你传入的参数是否需要被改变。
现在,这个问题已经被我解决了!
-
如果,你传入的是一个不可变的对象,(现在,我还是不太清楚不可变得对象是什么,难道只一个变量?)那么,他的值在函数中是不会被改变的。
-
如果你传入的是一个可变的对象,那么在函数中,你的这个对象还是可以被改变的。就是这个可变对象的值可以在函数中被改变。
举一个栗子
#!/usr/bin/python3.7
# 我们的python是很不错的,但是
# 我在函数的传递参数的区域遇到了问题,
# 担忧我想我需要做一个关于Python的传递参数的问题
# 此实例传递不可变的对象
def ChangeInt(a):
a = 10
b = 2
ChangeInt(b)
print(b) # 结果是 2
# 实例中有 int 对象 2,
# 指向它的变量是 b,
# 在传递给 ChangeInt 函数时,
# 按传值的方式复制了变量 b,
# a 和 b 都指向了同一个 Int 对象,
# 在 a=10 时,
# 则新生成一个 int 值对象 10,
# 并让 a 指向它。
# -----------------------------------
# 此实例中的可变对象实例
def changem(myList):
myList.append([1, 3, 5])
print(myList)
# return
list = [10,34, '123']
changem(list)
print(list)
输出结果
2
[10, 34, '123', [1, 3, 5]]
[10, 34, '123', [1, 3, 5]]