2019年12月18日,继续学习python基础,第四章
4.7.深入python函数定义
在python中,可以定义包含若干参数的函数
这里有三种可用的形式,可以混合使用。
4.7.1默认参数值
最常用的一种形式是为一个或多个参数指定默认值。
这会创建一个可以使用比定义时允许的参数更少的参数调用的函数。
如
这个函数可以通过几种不同的方式调用:
只给出必要的参数
ask_ok(‘Do you really want to quit?’)
给出一个可选的参数
ask_ok(‘OK to overwrite the file?’,2)
或者给出所有的参数:
ask_ok(‘OK to overwrite the file?’,2,‘come on ,only yes or no!’)
这个例子还介绍了in关键字。它测定序列中是否包含某个确定的值。
默认值在函数定义作用域被解析,如下所示:
输出结果为5
重要警告:默认值只被赋值一次。这使得当默认值是可变对象时会有所不通过,比如列表。字典或者大多数类的实例。
例如,下面的函数在后续调用过程中会累积(前面)传给他的参数:
如果你不想让默认值在后续调用中累积,
可以像下面一样定义函数:
4.7.2.关键字参数
函数可以通过关键字参数的形式来调用,形如keyword = value.
例如一下参数:
def parrot(voltage, state=‘a stiff’,action=‘voom’,type=‘Norwegian Blue’):
print("–This parrot woudn’t",action,end=’ ')
print(“if you put”, voltage, “volts through it.”)
print("–Lovely plumage, the",type)
print("-- It’s",state, “!”)
接受一个必选参数(voltage) 以及三个可选参数(state,action,和type)。
可以用以下的任一方法调用:
以下的集中调用时无效的: