oops概念的新手,所以基本上我基本上都知道一般的oops概念。但是要努力在类公共私有中创建一个变量并保护它。我知道他们使用1& 2个带有变量名称的下划线。你如何初始化访问修饰符,调用它们为它们设置一个值?基本上我正在寻找一般的例子/语法。
我也读过很多关于python的内容。但我从来没有找到与 doc 相关的内容,有人可以给我一个关于它如何工作的概述。
非常感谢
答案 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)
将使用文档字符串。