python中函数的参数传递小结

“”“

函数的参数

--必须参数,默认参数,组合参数

--函数我作为参数

--对象作为参数

--*args  可变参数

--**kwargs关键字参数

“””

def function1(a,b,*args,**kwargs): #必须参数必须放在最前面

  print(a,b)

  print(agrs)

  print(type(args))

  print(kwargs)

  print(type(kwargs))

 

function2(1,2,3,4,5,6,name ="fang", age = 10)

结果是 a=1,b=2, 3,4,5,6作为一个元祖给args,name="fang",age=10作为一个字典给kwargs

 

#命名关键字参数,*后边的必须参数传参时必须写名字

#命名关键字参数是必须参数,如果不需要他是必须参数,那么可以给一个默认值

def function2(a,b,*,c,d):

  print(a)

  print(b)

  print(c)

  print(d)

 

function2(1,2,c=3,d=4)

functon2(1,2,d=4,c=3) #命名关键字参数,只要给名字,顺序无所谓

function2(1,2,3,4) #这里没有给名字,就会报错,这就是命名关键字参数的特别之处

 

下面还有几种特殊传参方式

def function3(a,b,c)

  print(a)

  print(b)

  print(c)

s1 = (1,2,3)

function3(*s1)   # *s1可以把可迭代对象拆开

s2 = [4,5,6]

function3(*s2)  # *s2可以把可迭代对象拆开

kw = {"a":1,"b":2,"c":3}

function3(*kw)  #带一个*可以传字典类型的键,但是需要注意的是,字典的键的名字必须和函数                           #的参数名名字一样,否则报错

function3(**kw) #带两个**,可以传字典类型的值,一般字典类型传参用**这种的多

 

 

  

上一篇:(day74)视图家族(视图基类、视图工具类、工具视图类、视图集)、十大接口和路由层补充


下一篇:[Python3] 042 日志