1
我做在pycassa數據庫插入腳本。我想設置一個公共靜態類,它定義了一些變量,稍後會被其他函數使用。繼承人我有什麼......蟒蛇靜態類與使用自靜態方法?
class ks_refs():
pool = ConnectionPool('TweetsKS')
user_name_cf = self.cf_connect('UserName')
user_tweet_cf = self.cf_connect('UserTweet')
def cf_connect(column_family):
cf = pycassa.ColumnFamily(self.pool, column_family)
return cf
我甚至沒有試圖運行這個,因爲我敢肯定它不會工作。你可以看到我想要這個靜態變量「池」,然後再使用它需要「池」上班cf_connect方法建立user_name_cf和user_tweet_cf(和一些更晚些)。我知道我可以把這個方法放在類之外,或者我可以有這個非靜態的並且創建它的一個實例,但是我想試試這個,因爲這是我真正想要的(在我使用全局變量之前但我認爲一個靜態類持有這一切都是最好的主意)
我認爲'靜態方法'你的意思是'類方法'(Python不是C++)。然而在我看來,這樣做無非是一堆東西包裝更進一個命名空間,是精是你們自己的,但它並不比只使用這被普遍認爲是不好的編程習慣全局變量更好。 – martineau
歡呼!是的,我更熟悉C#中這種類型的東西 –