我想在我的类中有一个函数,我将仅在此类的方法内部使用该函数。我不会在这些方法的实现之外调用它。在 C++ 中,我将使用在类的私有部分中声明的方法。在Python中实现这样的功能的最佳方法是什么?
我正在考虑在这种情况下使用静态装饰器。我可以使用没有任何装饰器的函数吗?self
word?
Python 没有私有方法或属性的概念。这完全取决于您如何实施您的课程。但您可以使用伪私有变量(名称修改);前面的任何变量__
(两个下划线)成为伪私有变量。
From 文档 http://docs.python.org/2/tutorial/classes.html#private-variables-and-class-local-references:
由于类私有成员有一个有效的用例(即
避免名称与子类定义的名称发生名称冲突),
对这种称为名称修改的机制的支持有限。任何
表单的标识符__spam
(至少两个前导下划线,位于
大多数尾随下划线)被文本替换为_classname__spam
,其中 classname 是当前类名,去掉了前导下划线。这种破坏是在不考虑的情况下完成的
到标识符的语法位置,只要它出现
在类的定义内。
class A:
def __private(self):
pass
So __private
现在实际上变成了_A__private
.
静态方法的示例:
>>> class A:
... @staticmethod # Not required in Python 3.x
... def __private():
... print 'hello'
...
>>> A._A__private()
hello
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)