python-易错问题
Posted yangchangjie150330
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-易错问题相关的知识,希望对你有一定的参考价值。
1.看程序写结果:
li = []
for i in range(3):
def func(x):
print(x*i)
li.append(func)
for func in li:
func(2)
结果:
4
4
4
将它改成我们想要的结果(上述的代码):我们想到的结果是0,2,4
# 解析:如果想要将结果变成0,2,4的话,则说明对应的i是随着迭代次数的变化是在变化的,则就需要一个变量去接收这个变量,将变量带入到print中里面,这样每次的i都是在变化的,在print中里面
li = []
for i in range(3):
def func(x, y=i): # 接收参数i,
print(x*y) # 开辟的内存的函数是不一样的
li.append(func)
for func in li:
func(2)
结果是:
0
2
4
以上是关于python-易错问题的主要内容,如果未能解决你的问题,请参考以下文章