函数的参数
这一章主要讲了位置参数,默认参数等。
在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
练习
以下函数允许计算两个数的乘积,请稍加改造,变成可接收一个或多个数并计算乘积:
这道题我一开始删除了x项,导致一直通过不了。后来发现是缺少位置参数的设置。
最初的做法:
def product(*x):
re = 1
for i in x:
re = re * i
return re
这样的做法下,print(product())
输出为1
,这显然是不对的。
同样的,在测试端口里面也强调了位置函数的设置。
# 测试
else:
try:
product()
print('测试失败!')
except TypeError:
print('测试成功!')
只有在设置了位置参数的情况下,代码才能通过。
Traceback (most recent call last):
File "C:\Users\chris\AppData\Local\Temp\learn_python_42gg32mr_py\test_21.py", line 7, in <module>
print(product())
TypeError: product() missing 1 required positional argument: 'x'
最终代码:
def product(x, *y):
for i in y:
x = x*i
return x