2014-12-05 72 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