2012-02-13 117 views
1

我曾經是一名java程序員,現在正在改用Python。 在Java中,所有函數都是類方法,但我不確定Python中的情況。 如果我定義了一個隊列並想知道隊列的大小,那麼最好的設計是什麼?python屬性風格

  1. 定義一個變量__size,和定義一個方法大小()

  2. 使用@property在方法大小,以使__size只讀

  3. 只需限定可變self.size

我的問題確實集中在Python的編碼風格上,無論是製作一切方法還是使用私有變量。 是否最好爲每個變量使用@property getters & setter?

回答

3

我同意與禮的環節,通常getter和setter方法是額外的殘餘。

然而,在這種特殊情況下,你應該定義一個__len__()方法,將返回您的隊列的當前大小,讓您使用len(<obj>)內置檢索長度。除此之外,它將允許您輕鬆獲得布爾值以確定您的隊列是否爲空。

+0

是的,同意在這個特定的情況下,特殊的'__len__'方法是要走的路。我的回答更多的是關於屬性和getter/setter的一般性建議 – 2012-02-13 07:08:30