如何使用python和amp;中的访问修饰符__doc__?

时间:2015-04-13 04:20:25

标签: python python-2.7 oop python-3.x access-modifiers

oops概念的新手,所以基本上我基本上都知道一般的oops概念。但是要努力在类公共私有中创建一个变量并保护它。我知道他们使用1& 2个带有变量名称的下划线。你如何初始化访问修饰符,调用它们为它们设置一个值?基本上我正在寻找一般的例子/语法。

我也读过很多关于python的内容。但我从来没有找到与 doc 相关的内容,有人可以给我一个关于它如何工作的概述。

非常感谢

2 个答案:

答案 0 :(得分:0)

Python没有私有字段或方法的概念。但是,以两个下划线开头但不以两个下划线结尾的标识符将被“修改”为类名,以防止意外覆盖。您可以找到更多信息here.

这是该语言的一部分。作为编程实践,传统的标识符以单个下划线开头应该被视为私有。这是一个没有强制执行的礼貌请求......但是留下单下划线名称是一个真正的好主意。

我知道的另一个下划线约定是,当控件变量不在循环中使用时,通常在for循环,列表推导或生成器表达式中使用由单个下划线组成的名称。例如,做n次可能看起来像:

for _ in range(n):
    ...statements to repeat

答案 1 :(得分:0)

Python没有私有变量,启动带下划线的属性(_)是表示它对其他程序员是私有的一种方式,有关详细信息,请参阅here

由于没有私有变量,以下划线开头的可以像任何其他变量一样进行修改。

class MyClass():
     """Docstrings are important"""
     def __init__(self):
         self._myPrivateNumber = 42


C = MyClass()
C._myPrivateNumber #42
C._myPrivateNumber = 1
C._myPrivateNumber #1
setattr(C, '_myPrivateNumber', -1)
C._myPrivateNumber #-1

我假设你也想知道__doc__。它被称为docstring,用于记录您的对象。它是在声明之后立即从字符串创建的,例如C的文档字符串,C.__doc__是字符串"Docstrings are important"您可以阅读有关如何创建here的信息。如果未提供文档字符串,则__doc__将为''。它们还用于创建帮助信息,即help(C)将使用文档字符串。