2014-12-05 87 views
0

我對如何在Python中創建私有變量有點困惑。我知道它涉及一個雙下劃線,但你怎麼知道它是否應該在變量名之前或之後?私有變量 - Python

所以,當是:相比於

self.__name 

__self.name 

謝謝。

回答

1

假設您指的是某個類的私有屬性,則可以使用self.__name來訪問私有的__name屬性。使用__self作爲self變量不會產生使屬性保密的效果。

你可以有一個私人的__self變量,例如一個模塊的私有變量(實際上只需要一個下劃線),但我認爲這不是你的意思。

還值得注意的是a private variable is only semi-private

+0

好吧,我想你可以在技術上擁有一個私人'__self'變量,但這太尷尬了,可能有更好的名字。 – Dair 2014-12-05 03:28:01

+0

好的。謝謝。 – user3495234 2014-12-05 03:56:16

1

如果你想遵循標準的約定,它應該始終是self.__name

self應該始終保持不變。命名約定是以兩個下劃線作爲前綴名稱。

+0

'self'名稱在技術上是可選的。人們使用它只是慣例,但它可以是任何有效的變量名稱(儘管我會推薦以下約定)。 – 2014-12-05 03:29:25

+0

@ AlexanderO'Mara:我已經編輯說出標準的命名約定,但是,我懷疑你會看到現實世界中不遵循這個約定的代碼。同樣,如果有代碼沒有遵循它,我會非常懷疑使用它。 – Dair 2014-12-05 03:34:06