python中没有这三个词的定义,不过可以实现类的private成员和public成员。通过在类的成员前添加双下划线“__”实现私有属性。
class ObjectDemo: # 定义类
def __init__(self, name, age): # 定义构造函数,函数或变量前有__表示私有变量或函数,同理不加则不是私有的
self.__name = name
self.__age = age
def set_name_age(self, name, age): # 通过定义set函数来给私有变量赋值
self.__name = name
self.__age = age
def get_name_age(self): # 通过定义get函数获得私有变量
return self.__name, self.__age
def handle_object():
od = ObjectDemo("wan", 20) # 定义类的对象,并初始化成员变量
name, age = od.get_name_age() # 得到成员变量
print("name=", name, " age=", age)
od.set_name_age("yan", 21) # 给成员变量赋值
name, age = od.get_name_age()
print("name=", name, " age=", age)
if __name__ == "__main__":
handle_object()
对比总结:
1. python定义私有成员通过命名前加两个下划线实现;
2. 可以通过自定义set和get函数来操作成员变量