python的参数传递
1.传参方式: 直接赋值,变量指向同一个对象
在python中,是先有值,然后再将变量以标签的形式贴在上面;
例如:
def clear_list(l):
l = [] # 使l = ll,函数中,创建了一个新的对象,并将l贴上去(注意函数里面的l和外面的l使形参和实参的区别,不要以为是同一个),所以原来的 l 并没有改变
l = [1, 2, 3]
clear_list(l)
print(l) ---》 [1,2,3]
a= 1 # 创建了一个 value 为1的对象,并将a标签指向1
a=b # 将b标签也指向1
2. 可变参数:在运算中会修改对象的值
3. 不可变参数:在运算中会创建一个新的对象
例如:
def list1(l):
l.append(0)
print(l)
ll = []
list1(ll) # 第一次调用 l=ll,函数修改了ll对应的对象的值,第二次调用,l=ll,在第一次修改的基础上进行第二次修改(因为list属于可变参数)
list1(ll)
def str1(s):
s += "a"
print(s)
ss = "hehe"
str1(ss) #第一次调用,s=ss,函数无法修改字符串的值(字符串不可修改,字符串是不可变参数),只新建了一个对象
str1(ss) # 第二次调用,s=ss依旧,函数在原有的ss上面进行修改,又创建了一个对象
result:
[0]
[0, 0]
hehea
hehea
相关推荐
夜斗不是神 2020-11-17
huavhuahua 2020-11-20
Yasin 2020-11-16
xiaoseyihe 2020-11-16
千锋 2020-11-15
diyanpython 2020-11-12
chunjiekid 2020-11-10
wordmhg 2020-11-06
YENCSDN 2020-11-17
lsjweiyi 2020-11-17
houmenghu 2020-11-17
Erick 2020-11-17
HeyShHeyou 2020-11-17
以梦为马不负韶华 2020-10-20
lhtzbj 2020-11-17
pythonjw 2020-11-17
dingwun 2020-11-16
lhxxhl 2020-11-16