为了账号安全,请及时绑定邮箱和手机立即绑定

函数的 Python 变量参数

函数的 Python 变量参数

潇湘沐 2021-05-30 18:06:29
我正在学习Python,并遇到了各种各样的争论。我不理解以下代码产生的输出:_list = [11,2,3]def print_list(*args):    for value in args:        a = value * 10        print(a)print_list(_list)当我运行程序时,我得到:[11, 2, 3, 11, 2, 3, 11, 2, 3, 11, 2, 3, 11, 2, 3, 11, 2, 3, 11, 2, 3, 11, 2, 3, 11, 2, 3, 11, 2, 3]据我了解,value从_list数组中保存一个元素,将其乘以 10 将生成列表[110, 20, 30]。为什么输出不同?
查看完整描述

2 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

因为函数的参数是*args(带有*),所以函数实际上接收传入参数的元组,因此args变为([11,2,3],)(包含传入列表的元组)。

您的函数遍历该元组中的值,给出value=[11,2,3]。当你将一个列表乘以 10 时,你会得到一个长 10 倍的列表。


查看完整回答
反对 回复 2021-06-01
  • 2 回答
  • 0 关注
  • 189 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号