Python中的私有方法 [英] Private methods in Python
本文介绍了Python中的私有方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在考虑在这种情况下使用静态装饰符。我可以使用没有任何修饰符和self
字的函数吗?
推荐答案
没有私有方法或属性的概念。这完全是关于如何实现您的类。但您可以使用伪私有变量(名称损坏);任何前缀__
(两个下划线)的变量都将成为伪私有变量。
由于存在类私有成员的有效用例(即 避免名称与子类定义的名称的名称冲突), 是对这样一种机制的有限支持,这种机制被称为名字破坏。任何__spam
形式的标识符(至少有两个前导下划线,位于 大多数尾随下划线)在文本上被替换为_classname__spam
,其中类名称是去掉前导下划线的当前类名。这种损毁是不加考虑的 到标识符的语法位置,只要它出现 在类的定义中。
class A:
def __private(self):
pass
因此__private
现在实际上变成了_A__private
。
静态方法示例:
>>> class A:
... @staticmethod # Not required in Python 3.x
... def __private():
... print 'hello'
...
>>> A._A__private()
hello
这篇关于Python中的私有方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文