廖雪峰python自学1

函数的参数

这一章主要讲了位置参数,默认参数等。

在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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值