Python入门之Python函数
2020-06-28 14:44:40 来源:易采站长站 作者:易采站长站整理
... print("-- This parrot wouldn't", action, end=' ')
... print("if you put", voltage, "volts through it.", end=' ')
... print("E's", state, "!")
...
>>> d = {"voltage": "four million", "state": "bleedin' demised", "action": "VOOM"}
>>> parrot(**d) # 解包字典
-- This parrot wouldn't VOOM if you put four million volts through it. E's bleedin' demised !
这里稍微补充一个测试结果,在 Python 程序中,如果一个函数在调用前重复定义了,那么 Python 解释器会调用哪个呢?答案是:调用最后定义的那个函数。因为函数名也相当于一个变量,重复定义同一个函数,那么后定义的函数会覆盖掉之前定义的函数。测试如下:
"""
时间:
2020年4月2日12:13:41
目的:
测试源代码中定义多个同名函数时,Python 解释器的调用顺序
总结:
后定义的函数会覆盖之前定义的函数,也就是说重复定义时,会调用最后定义的函数。
"""def fun_1():
print('这是第一次定义fun_1()')
def fun_1():
print('这是第二次定义fun_1()')
if __name__ == '__main__':
fun_1()
"""
在 Python 3.8 中输出结果:
这是第二次定义fun_1()
可以发现,
fun_1() 函数在调用前,定义了两次,我们调用的时候执行的是第 2 次定义的内容。小结
学到这里,多少都有点迷糊了,我们把 Python 中参数的怎么用,小结一下吧:
只能通过
func(value1, value2) 方式调用的是仅位置参数,只能通过
func(kw1=value1, kw2=value2) 方式调用的是仅关键字参数,两者都可以的是位置或关键字参数。不管是位置参数还是关键字参数都可以设定默认值,这时也可以称为默认参数。
函数定义时,变化大的参数放在前面,变化小的参数放在后面,可以把变化小的参数设置为默认参数。
不管是调用还是定义,位置参数一定要在默认参数和关键字参数前面!
默认参数必须指向不可变对象。否则可能引发 Bug。
可变位置参数
*args 必须在可变关键字参数
**kwargs 前面。如:
func(*args, **kwargs)
*args 前面参数是仅位置参数,后面参数是仅关键字参数。
/ 前是进位置参数,
/ 和
* 之间是位置或关键字参数,
暂时禁止评论













闽公网安备 35020302000061号