链条传动

砥砺前行,不忘初心!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
#动态参数
#*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],表示传值是传递的是值的本身,函数中对值进行操作,值就会跟着改变

 

posted on 2016-11-02 09:22  链条君  阅读(213)  评论(0编辑  收藏  举报