Discuss / Python / 记录一下

记录一下

Topic source

XHS_12302

#1 Created at ... [Delete] [Delete and Lock User]
# -*- coding: utf-8 -*-

def product(x, *y):
    for val in y:
        x *= val
    return x

望君佳

#2 Created at ... [Delete] [Delete and Lock User]

强,感觉这个代码更好理解

smasu

#3 Created at ... [Delete] [Delete and Lock User]

没有很理解当可变参数没有参数时怎么运行的

XHS_12302

#4 Created at ... [Delete] [Delete and Lock User]
# 根据老师的前文,可变参数传下来以后,函数中的y 变量其实是一个元组(tuple),参数为零的情况下,就是`y =()`这样的,里面没有元素,不会进入for 循环,所以直接返回 x.
# 如果对for这种循环工作机制不太确定,可以写一个测试代码:
for val in ():  # 另外 空元组和None不一样。空元组即使里面没有元素,也是一个可迭代对象,只是没有元素的话,不进入for循环。而None是不可迭代的,所以会直接报错的。
  print('进入for循环了')


  • 1

Reply