嗨客网搜索

Python私有方法

Python私有方法教程

Python 默认的 成员函数 都是公开的,在 Python 中定义私有方法只需要在方法名前加上 “__” 两个下划线,那么这个方法就会成为私有的了,私有的方法只能在 内部访问,不能在类的外部调用。

Python私有方法详解

语法

class Person(object): def __funcname(self, params): pass

说明

我们给类 Person 添加了一个 funcname 方法,同时在 funcname 方法前面加了 __ 修饰,因此 funcname 是一个私有方法,私有方法只能在类内部调用。

案例

Python类私有方法

使用 __ 修饰类的方法,使类的方法私有化

print("嗨客网(www.haicoder.net)") class Person(object): def __init__(self, name, age, score): self.name = name self.age = age self.__score = score def __getscore(self): return self.__score person = Person("haicoder", 18, 100) print(person.__getscore())

程序运行后,控制台输出如下:

73_python私有方法.png

我们定义了一个 Person 类,并且给 Person 类添加了一个私有方法 __getscore,最后,我们在类外部访问类 Person 的私有方法 __getscore,程序报错。

因为,私有方法只能在类内部访问,类外部访问私有方法会报错,我们将程序修改如下:

print("嗨客网(www.haicoder.net)") class Person(object): def __init__(self, name, age, score): self.name = name self.age = age self.__score = score def __getscore(self): return self.__score def info(self): print("Name =", self.name, "Age =", self.age, "Score =", self.__getscore()) person = Person("haicoder", 18, 100) person.info()

程序运行后,控制台输出如下:

74_python私有方法.png

我们在类 Person 内部的 info 方法里面调用了类的私有方法 __getscore,程序没有报错,并且正确输出了 __score 的值,即,私有方法可以在类内部调用。

Python私有方法总结

Python 默认的成员函数都是公开的,在 Python 中定义私有方法只需要在方法名前加上 “__” 两个下划线,那么这个方法就会成为私有的了,私有的属性只能在类内部访问,不能在类的外部调用。Python 私有方法定义语法:

class Person(object): def __funcname(self, params): pass
嗨客网顶部