python中private、protectedpublic

Elizabeth ·
更新时间:2024-09-21
· 529 次阅读

private:
1.在类中的属性或者方法前加上两条下划线“__”,该属性或方法就变成了私有的了,只能在类内访问。
2.如果想从外部访问私有属性或者方法(不建议访问),有两种方法,一是定义一个函数进行访问,二是对私有的属性或者方法的名字进行转换为:一个下划线“_”+类名+私有属性或者方法的名字。

protected:
1.在类中的属性或者方法前加上单下划线“_”,该属性或者方法就变成protected, 只能类内访问或者子类访问

public:
1.没有下划线的是public, 可以类外、类内、子类访问

特殊方法:
1.__xx__表示的是特殊属性或者方法,不要定义这类变量名,这是python内部定义的变量名

例子:

class Student(object): def __init__(self,name,score): self.__name = name self.__score = score def get_name(self): print(self.__name) if __name__ == "__main__": a = Student('xiaoming',90) print(a._Student__name) print(a.get_name())

输出:

xiaoming #通过私有属性名字转换得到a.Student_name得到 xiaoming #通过定义一个函数get_name得到 None #不知道这里为什么会多一个None??????????好奇怪,先留个疑问

再来

class Student(object): def __init__(self,name,score,height): self.__name = name self.__score = score self._height = height def get_name(self): print(self.__name) class Student1(Student): def get_height(self): print(self._height)#子类可以访问保护类
作者:甘先了个生



protected private public Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号