可选参数和可变数量参数
>>> def dup(str,times=2):
... print(str*times)
...
>>> dup('knock~')
knock~knock~
>>> dup('knock~',4)
knock~knock~knock~knock~
- 由于函数调用时需要按顺序输入参数,可选参数必须在非可选参数的前面,即dup()函数中带默认值的可选参数times必须定义在str参数后面。
- 在函数定义时,也可以设计可变数量参数,通过在参数前面增加(*)实现,带有星号的可变参数只能出现在参数列表的最后面。调用时,这些参数被当做元组类型传递到函数中,实例如下:
def vfunc(a,*b):
print(type(b))
for n in b:
a += n
return a
vfunc(1,2,3,4,5)
<class 'tuple'>
Out[4]: 15
5.2.2 参数的位置和名称传递
函数的返回值
5.2.4 函数对变量的作用
n = 1
def func(a,b):
global n
n = b # 将局部变量b赋值给全局变量n
return a * b
s = func('knock~',2)
print(s,n) # 测试以下n值是否发生改变
knock~knock~ 2