我认为工厂不是非Python的。但是,您不需要一堂课。Java和Python之间的一大区别是,在Python中,您可以在类之外使用代码。因此,您可能想创建一个工厂函数。或者,您可以使factory成为Person类的类方法:
class Person: name_map = {} @classmethod def person_from_name(cls, name): if name not in cls.name_map: cls.name_map[name] = cls(name) return cls.name_map[name] def __init__(self, name): etc...通常,Python代码中的模式与Java中的模式相同,但是我们并没有做太多的事情。在Java中,您将拥有一个全新的类,这意味着一个全新的.java文件,并且需要将其设置为单例,等等,等等。Java似乎滋生了这种复杂性。一个简单的类方法就可以了,所以就用吧。



