除了“ public”以外,这些术语中的任何一个都不适用于Python。
由于__
对名称的影响,“私有”版本只能“起作用”,但是仍然可以访问它。
>>> a = A()
>>> print(a._A__private)
private
此处的“受保护”甚至是较弱的“保护”。您可以正常显示该文件。仅根据约定,不应使用单个下划线前缀。 A single underscore prefix has some effect when wildcard importing,,但我认为在属性名称中使用它不会产生任何效果。
Python没有“私有”类属性。可能有一些聪明的方法可以模仿它们,但充其量只是hack。
,
可以从类外部访问公共成员(通常是在类中声明的方法)。调用公共方法需要相同类的对象。私有实例变量和公共方法的这种安排确保了数据封装的原理。
受保护的类成员可从该类内部访问,并且也可用于其子类。不允许其他环境访问它。这样可以使子类继承父类的特定资源。
Python没有任何有效限制访问任何实例变量或方法的机制。 Python规定了一个约定,即在变量/方法的名称前加单下划线或双下划线,以模拟受保护和专用访问说明符的行为。
默认情况下,Python类中的所有成员都是公共的。可以从类环境外部访问任何成员。
在大多数情况下使用受保护的。不允许直接访问变量。
本文链接:https://www.f2er.com/1730086.html