我在Python中編寫了一個函數,該函數應該與Java中的工廠類似,因爲它爲給定參數實例化正確的類並返回此實例。返回函數內部類的Python對象實例
僅具有一個在函數內部類的最小的例子是這樣的:
def create_object(param):
class SpecialClass(ParentClass):
def func(self, param):
doSomething()
class_instance = SpecialClass(param)
return class_instance
當我調用此函數從外部我可以完美地使用該對象。從Java背景來看,我認爲這與Python中的動態類型有關,但我仍然不確定爲什麼這會起作用。函數本身中的類是不是已知的範圍?
你的問題不清楚。爲什麼*不會工作?爲什麼這與動態輸入有關呢? –
是的,它與動態輸入有什麼關係?另外,@DanielRoseman,他意味着在Java中,函數內類和對象的範圍只在內部......但弗洛裏安說,它似乎並不是這種情況 –
我仍然看不到這與範圍有什麼關係。你從函數返回一個對象,並且該對象可以傳遞到任何你喜歡的地方,甚至在Java中。 –