求教大佬关于 locals()动态生成变量

2018-01-06 17:45:48 +08:00
 cnaol
在函数外使用正常

#生产变量如 lis0 lis1 默认空列表 并打印出来
for i in range(0,11):
locals()['lis%d' % i] = []
print('lis%d : %s' % (i,eval('lis%d' % i)))

#单独给变量 lis3 append(6)
lis3.append(6)

#全部变量 append(2)打印 lis0~lis10 变量
for i in range(0,11):
eval('lis%d' % i).append(2)
print('lis%d : %s' % (i,eval('lis%d' % i)))

但是把他包裹在函数中使用就报错:变量名没定义
def func():
上面的代码
func()

想请问是为什么以及该如何解决 谢谢
1336 次点击
所在节点    问与答
1 条回复
zeq
2018-01-06 19:44:07 +08:00
我就好奇,这个例子的意义何在

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/420634

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX