-2
我是OOP的新手,編寫需要很多(> = 9)默認「硬編碼」參數的類。如何在類中定義許多靜態(默認)參數python3
是什麼定義這些類中的正確方法嗎?
解決方案#1
class SomeCLass():
__param1 = 'param1'
__param2 = 'param2'
__param3 = 'param3'
__param4 = 'param4'
def some_method(self):
return self.__param1
或者我應該做這種方式
解決方案#2
class SomeCLass():
def __init__(self, param1 = 'param1', param2 = 'param2', ....,
...param8 = 'param'):
self.param1 = param1
謝謝
這兩件事情是不一樣的,你需要取決於你的具體環境。 – jonrsharpe
您在第一個示例中使用* class attributes *。在第二個例子中,你的'__init__'功能有一堆的默認參數,這大概,你將設置爲*實例屬性*。這些是不同的情況。此外,不要使用雙下劃線名稱mangling,除非你明白它在做什麼,甚至可能不會... –
另外,雖然類屬性類似於像java這樣的語言中的靜態成員,但它們並不是真的相當於默認參數。 –