码迷,mamicode.com
首页 > 编程语言 > 详细

python的参数传递

时间:2020-02-04 00:03:03      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:不可   技术   运算   com   gif   code   font   图片   style   

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

 

 

技术图片

 

python的参数传递

标签:不可   技术   运算   com   gif   code   font   图片   style   

原文地址:https://www.cnblogs.com/wenshu/p/12257982.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!