jes*_*013 0 python class object
我想按照以下说明自动创建实例对象:
Class MyClass:
def __init__(self,x):
self.x = x
list = ["A","B"]
Run Code Online (Sandbox Code Playgroud)
我想创建以下内容,但会自动进行,即遍历列表并为每个元素创建相同的对象:
A = MyClass(text)
B = MyClass(text)
Run Code Online (Sandbox Code Playgroud)
例如像下面这样不起作用:
# this doesn't work but explains more what I need
for i in list:
i = MyClass(text)
Run Code Online (Sandbox Code Playgroud)
感谢您的所有帮助!
通常,您不能也不应这样将事情推入您的命名空间。最好是这些实例存储在一个dict或list
Class MyClass:
def __init__(self,x):
self.x = x
lst = ["A","B"] # don't use list as an identifier
myclasses = {k: MyClass(text) for k in lst}
Run Code Online (Sandbox Code Playgroud)
现在您的实例是
myclasses['A'],myclasses['B']等等。
如果您确实要在命名空间中创建一些变量,请执行以下操作:
A, B = (MyClass(text) for x in range(2))
Run Code Online (Sandbox Code Playgroud)
请注意,这意味着您需要明确。您无法从文件或用户输入等中获取A,B。
不要试图用它exec来实现这一目标。解决问题可能是错误的方法。告诉我们为什么您认为需要这样做。
| 归档时间: |
|
| 查看次数: |
3015 次 |
| 最近记录: |