Python 函数
2021-04-09 17:29
标签:元祖 关键字实参 nal sof 处理 定义 函数调用 val position 在函数定义阶段,按照从左到右的顺序依次定义的“变量名“,必须被传值,多一个不行,少一个也不行。 在函数定义阶段,已经被赋值的形参,在函数调用阶段可以不赋值。def func(x=3): 与位置形参混用是,默认形参要在位置形参的右边, error: non_default argument follows default argument 虽然默认值可以被指定为任意数据类型,但是不推荐使用可变类型。 在函数调用阶段,按照从左到右的顺序依次传入的值,与按照顺序与形参一一对应。 - 在函数调用阶段,按照key = value 的形式传入的值,知名道姓的给某个形参传值,完全不用考虑形参的顺序。 - 与位置实参混用的时候,位置实参必须放在关键字实参前。error :positional argument follows keyword argument. - 不能给同一个形参重复传值 - 可变长度参数指的是在调用函数时,传入的实参的个数是不固定的。 - 而实参是用来给形参赋值的,所以对应着,针对溢出的实参必须有对应的形参来接收 - 有一种形参格式*args 用来接收溢出的位置实参, -- f(x,*args)---f(1,2,3,3) .多出来的(2,3,3)会被* 处理成元祖,传给变量args, args = (2,3,3) -- * 可以用在实参中,f(x,y,z) --- f(*[1,2,3]) = f(1,2,3).. * 会把列表中的元素变成 一个个位置实参,按顺序传给位置形参 --有一种形参格式**kwargs 用来接收溢出的关键字实参 -- f(x,**kwargs)--f(x=1,y=2,z=3) .多出来的(y=2,z=3)会被* 处理成字典{“y":2,”z":3},传给变量kwargs, kwargs = {“y":2,”z":3} -- ** 可以用在实参中,f(x,y,z) --- f(* {‘x‘:1,‘y‘:2,”z":3}) = f(x=1,y=2,z=3).. 8* 会把字典中的元素变成 一个个关键字实参,传给对应的形参 Python 函数 标签:元祖 关键字实参 nal sof 处理 定义 函数调用 val position 原文地址:https://www.cnblogs.com/Teyisang/p/13373019.html一、函数的定义
#语法
def 函数名(参数1,参数2,参数3,...): # ---》 def ____ (): 是语法,必须要有。 函数名 是一个变量名,指向 函数代码的内存地址,必须要有。参数可以省略
‘‘‘注释‘‘‘ # ---》 默认None,可以没有
函数体 # ---》 默认None,可以pass
return 返回的值 # ---》 默认None,可以没有
#函数名要能反映其意义
一、函数的参数
1.形参(形式参数):相当于变量名;是定义函数阶段定义的参数。
a.位置形参
b. 默认形参
2.实参(实际参数):相当于变量值;是在调用函数阶段传入的值。
a.位置实参
b.关键字实参
c.可变长度参数
4.函数调用时,将值的内存地址绑定到变量名上,函数调用结束,解除绑定。
a.这种绑定关系只能在函数体内使用
b.这种绑定关系在调用函数时生效,结束调用后解除