您可以在Python中为类使用字符串格式吗?
我需要给类命名某些东西,例如:您可以在Python中为类使用字符串格式吗?,python,string,class,format,Python,String,Class,Format,我需要给类命名某些东西,例如: for a in range(10): class Class#"%s"(object): % (num) '''Class Content''' num += 1 我的问题是,这可能吗?如果不可能,还有什么替代方法。您可以使用元类(用于创建类的东西)来实现这一点。例如: >>> type('ClassName', (), {}) <class '__main__.ClassName'> 从: 使
for a in range(10):
class Class#"%s"(object): % (num)
'''Class Content'''
num += 1
我的问题是,这可能吗?如果不可能,还有什么替代方法。您可以使用元类(用于创建类的东西)来实现这一点。例如:
>>> type('ClassName', (), {})
<class '__main__.ClassName'>
从:
使用三个参数,返回一个新类型对象。这本质上是class语句的一种动态形式。名称字符串是类名,并成为\uu name\uu
属性;bases元组逐项列出基类,并成为\uuu bases\uuu
属性;dict字典是包含类主体定义的名称空间,并成为
\uuuu dict\uuuuu
属性
另外阅读更多细节。因此,根据我所阅读的内容,我需要将名称、类型(例如object)和不同的属性放入字典中,如下所示:{“self.var:var}。事实上,您发现自己需要这样做,这表明您的方法可以改进。更大的图景是什么;您为什么这样做,您想实现什么?您好,欢迎使用Stack Overflow-无需将已解决的问题添加到您的问题中。单击复选标记,您已经向更广泛的社区表明您正在解决问题我已经得到了你需要的答案。谢谢!@Ben,对不起,我已经习惯了使用Ubuntu论坛,我的坏习惯。:)
>>> cls = type('ClassName', (object,), {'varname': 'var'})
>>> cls.varname
'var'