D10函数的进阶(动态传参、名称空间、函数的嵌套)

一、形参的第三种形式:动态参数

动态参数分两种:

1、动态接收位置参数,位置参数就是按照位置进行传参,当参数的数量不定的时候就编写*表示接收任意内容

如def eat(*food)  >>这里的food可接收多个参数

位置参数要在动态参数之前不然位置参数根本接收不到值

默认值参数写在动态参数之前除非动态参数也取不到值否则默认参数也取不到值

所以顺序应该以位置参数、动态参数、默认值参数进行

2、动态接收关键字参数

在python中可以动态的位置参数,但是*这种情况只能接收位置参数无法接收关键字参数。

在python中使用**来接收动态关键字参数

最终顺序(*):位置参数>*args>默认值参数>**kwargs

若想接收所有的参数:

def func(*args,**kwargs):

  print(arg,kwargs)

func("大中华","利群",wr="温建丰")

def fun(*args):

  print(args)

lst = [1,3,4,5]

fun(*lst)    #可以使用*把一个列表内容顺序打散

s = "朕长命百岁"

func(*s)     #字符串也可以打散,(可迭代对象)

如果是一个字典,也可以打散不过需要两个**

二、命名空间

猜你喜欢

转载自www.cnblogs.com/wr13640959765/p/9175012.html