繁体   English   中英

Python-关于工厂函数的问题

[英]Python - question about factory functions

我有一系列要注册为更高级别抽象类的服务的类。 高级别的类将具有一个基于init args等获取低级别的类的函数。这听起来很疯吗? 另外,这叫什么? 我称它为工厂函数/类,但我真的不知道(这使Google最佳实践更难了)。

这就是所谓的“元类编程”。 在最新版本的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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM