ich eine Klasseninstanz in Member-Funktion einer Klasse zurückkehren wollen, ist mein Code:Wie gibt man eine Klasseninstanz in der Memberfunktion einer Klasse zurück?
class MyClass(object):
def __init__(self, *args, **kwargs):
[snippet]
def func(self, *args, **kwargs):
[snippet]
return class_instnace_of_MyClass
if __name__ == '__main__':
obj = MyClass(...)
newobj = obj.func(...) # type(newobj) is MyClass
Ich glaube, ich __init__()
in func()
nennen kann, und gibt eine neue Instanz von MyClass, aber ich glaube nicht, Es ist eine pythonische Art, dies zu tun. Wie soll ich das machen? Vielen Dank!
unnötig, die Magie in @classicmethod wird sich darum kümmern, zumindest in Python 2.x . Weiß nicht über Python 3.x – reptilicus
@AlexanderYau Sie nichts tun. Verwenden Sie einfach den Code direkt dort. Nichts anderes. Willkommen in der Einfachheit von Python, Sie werden sich daran gewöhnen müssen. –
@AlexanderYau stellen Sie sicher, dass Sie das wirklich brauchen: Können Sie nicht einfach "__init__" verlängern? Der richtige Weg, um ein Objekt in Python zu erstellen, ist die Verwendung von '__init__'. Alle Methoden in Python sind öffentlich –