我有一系列类,我将作为服务注册到更高级别的抽象类。高级类将具有一个基于init args 等获取低级类的函数。这听起来很疯狂吗?还有,这个叫什么?我称之为工厂函数/类,但我真的不知道(这使得谷歌的最佳实践变得更加困难)。
问问题
404 次
1 回答
2
它被称为“元类编程”。在最新版本的 Python 中,它是通过定义__new__()
静态方法并返回适当类型的对象来实现的。
class C(object):
def __new__(cls, val):
if val == 5:
return 'five'
else:
return super(C, cls).__new__(cls)
c1 = C(3)
print c1
c2 = C(5)
print c2
于 2010-10-10T15:44:24.010 回答