2024-05-14 20:12:04 发布
网友
我正在使用图形.pylib,需要根据用户想要的数量创建多个多边形(比如4个)。在
我只需要知道如何为这些多边形创建一个唯一的名称,例如polygon1、polygon2、polygon4、polygon5。在
谢谢。在
坏方法:
您可以使用exec。在
exec
for i in range(5): exec("polygon%d = Polygon(something)"%i)
这是非常安全的,因为iif只是一个整数。但是使用exec是一个非常糟糕的做法,因为它非常脆弱。用户可以输入,也可以不小心输入一段代码,从而扰乱您的内存。所以,除非你真的有去做,否则你不应该使用它。在
i
另外,如果你是全局变量的粉丝,你可以使用这个。在
但也不建议过于频繁地使用全局变量。在
更好的方式
或者,可以将其存储在列表或字典中:
for i in range(5): lst.append(Polygon(something_else)) #store it in a list dict['polygon%d'%i] = Polygon(another_thing) #store it in a dict
希望这有帮助!!在
你可以把它当作一个列表来处理
polygon = [] polygon.append(...)
并以
如果你真的想这么做,你可以:
for i in range(count): new_poly = Polygon(whatever) new_name = 'polygon{}'.format(i+1)
然后你必须把这个新名字和新多边形存储在某处。可能是这样的:
如果你想让每个名字都变成一个新的变量…那是个坏主意。You don't want to dynamically create variables,因为你想keep data out of your variable names。在
真的,这里根本不需要名字。这将创建count多边形的列表:
count
polygons = [Polygon(whatever) for _ in range(count)]
现在,如果您需要通过号码访问它们,请执行以下操作:
polygons[2]
(请注意,列表是从0开始的,而不是从1开始的)。在
或者,如果你需要访问所有的列表,你就得到了完整的列表,所以你不必到处写(polygon1, polygon2, polygon3, polygon4);只要polygons。在
(polygon1, polygon2, polygon3, polygon4)
polygons
坏方法:
您可以使用
exec
。在这是非常安全的,因为
i
if只是一个整数。但是使用exec
是一个非常糟糕的做法,因为它非常脆弱。用户可以输入,也可以不小心输入一段代码,从而扰乱您的内存。所以,除非你真的有去做,否则你不应该使用它。在另外,如果你是全局变量的粉丝,你可以使用这个。在
^{pr2}$但也不建议过于频繁地使用全局变量。在
更好的方式
或者,可以将其存储在列表或字典中:
希望这有帮助!!在
你可以把它当作一个列表来处理
并以
^{pr2}$如果你真的想这么做,你可以:
然后你必须把这个新名字和新多边形存储在某处。可能是这样的:
^{pr2}$如果你想让每个名字都变成一个新的变量…那是个坏主意。You don't want to dynamically create variables,因为你想keep data out of your variable names。在
真的,这里根本不需要名字。这将创建
count
多边形的列表:现在,如果您需要通过号码访问它们,请执行以下操作:
(请注意,列表是从0开始的,而不是从1开始的)。在
或者,如果你需要访问所有的列表,你就得到了完整的列表,所以你不必到处写
(polygon1, polygon2, polygon3, polygon4)
;只要polygons
。在相关问题 更多 >
编程相关推荐