実際には、Pythonのパッケージは、プライベートクラスオブジェクトのメソッドとプロパティの理由を直接呼び出すことはできません、純粋に「日和見」特長基本となる実装、Pythonは密かに自分の名前を変更したためである実現しています。
Pythonの基本となる実装、それらの名前は密かに「_ __クラス名属性(メソッド)名」の形式に変更されます
class Person:
def setname(self, name):
if len(name) < 3:
raise ValueError('名称长度必须大于3!')
self.__name = name
def getname(self):
return self.__name
#为name配置setter和getter方法
name = property(getname, setname)
def setage(self, age):
if age < 100:
self.__age = age
else:
raise ValueError('年龄必须小于100!')
def getage(self):
return self.__age
#为age配置getter和setter方法
age = property(getage, setage)
#定义私有方法
def __display(self):
print(self.__name, "今年", self.__age, "岁。")
xiaobai = Person()
xiaobai.name = "xiaobai"
xiaobai.age = 20
#直接调用隐藏的display()方法
xiaobai._Person__display()
xiaobai 今年 20 岁。
概要:プロパティとメソッドPythonのクラスのすべてが、名前のPythonのクラスのプロパティや、単に2つのアンダースコア(前に自分の名前を追加し、それらを隠すために、希望の基本となるクラスのメソッドを変更した場合、公開されています「__」 )することができます。