python 参数

##函数可以有默认参数,有默认值的参数一定要放在参数的尾部

##动态参数

第一种

def fa(*a):
print(a,type(a))


fa(123,456)

输出:

(123, 456) <class 'tuple'>

第二种
def fb(**a):
print(a,type(a))

fb(k1=123,k2=456)

输出:


{'k1': 123, 'k2': 456} <class 'dict'>

第三种

def fc(a,*aa,**aaa):
print(a,type(a))
print(aa,type(aa))
print(aaa,type(aaa))

fc(111,222,333,kq=234,ke=763)

输出:

111 <class 'int'>
(222, 333) <class 'tuple'>
{'kq': 234, 'ke': 763} <class 'dict'>

#若想将传入的元组、字典作为参数传入后,他们的元素仍然作为参数(元组或字典)的元素,
#而不是一个整体作为元素
doc = [90,80,70]
fa(doc)
fa(*doc)

输出:

([90, 80, 70],) <class 'tuple'>
(90, 80, 70) <class 'tuple'>

dod = {"uu":'www',"mm":'kkk'}

fb(jj=dod)
fb(**dod)

输出:

{'jj': {'uu': 'www', 'mm': 'kkk'}} <class 'dict'>
{'uu': 'www', 'mm': 'kkk'} <class 'dict'>

##函数传递参数时,传递的是一个引用,列表、字典
def fi(arg):
arg.append(333)

fi(doc)
print(doc)

原文地址:https://www.cnblogs.com/wuxinyan/p/8682443.html