colours = [turtle.color("red"),turtle.color("blue"),turtle.color("yellow"),turtle.color("green")]
fred = colours[0],turtle.forward(100),turtle.left(90),colours[1],turtle.forward(100),turtle.left(90),colours[2],turtle.forward(100),turtle.left(90),colours[3],turtle.forward(100),turtle.left(90)
尝试从列表中创建具有4种不同颜色的正方形,键入(colors [0])会返回Nonetype类。如何从列表中访问颜色?
答案 0 :(得分:0)
您的代码:
colours = [turtle.color("red")]
将运行函数turtle.color("red")
,并将返回值存储在列表中。
与完全相同:
colours = [None]
如果你致电colours[0]
,你会得到返回值,而不是函数。 Python不知道None
是否通过函数调用结束,或者您是否只是手动分配它。
您只发布了两行代码,所以我不太清楚上下文是什么,但可能想要执行以下操作:
colours = [lambda: turtle.color("red"), lambda: turtle.color("blue")]
这样做,就是在列表中存储lamba(或“匿名函数”)。此功能未执行。你现在可以得到:
>>> colours[0]
<function <lambda> at 0x80089e710>
你可以通过附加括号来多次执行它:colours[0]()
顺便说一下,这种技术被称为“currying”。