#动态参数 #*args将传入的普通参数转换为元组 def f(*args): print(args,type(args)) li = [11,22,33,44] f(li,55) #传入参数是列表li,则传入到函数中后转换成元组列表仍然是一个独立的元素 f(*li,55) #传入参数是*li,则传入函数中后转换成元组后就不在是一个列表,而是把li的每个元素分别传入,在转换成列表 s = 'macolee' f(s) #参数是s,则s作为一个完整的元素存在于转换后的元组中 f(*s) #参数是*s,则转换成元组后,每个字符单独作为元素存在于元组中 #**kwargs将传入的指定参数转换成字典 def f1(**kwargs): print(kwargs,type(kwargs)) f1(n1='maco',n2=12) dic = {'k1':'v1','k2':'v2'} f1(k=dic) f1(**dic) #参数是**dic,则是将dic中的每个元素分别传入f1()函数中 ######################################### #函数传递参数过程中,传递的是值得引用还是将值复制了一份进行传递 def f(l): l.append(111) li = [1,2,3] f(li) print(li) #结果是[1, 2, 3, 111],表示传值是传递的是值的本身,函数中对值进行操作,值就会跟着改变
关注我的公众号,不定期推送资讯
本文来自博客园,作者:链条君,转载请注明原文链接:https://www.cnblogs.com/MacoLee/articles/6021744.html