赞
赏
Python 默认的 成员函数 都是公开的,在 Python 中定义私有方法只需要在方法名前加上 “__” 两个下划线,那么这个方法就会成为私有的了,私有的方法只能在 类 内部访问,不能在类的外部调用。
class Person(object):
def __funcname(self, params):
pass
我们给类 Person 添加了一个 funcname 方法,同时在 funcname 方法前面加了 __
修饰,因此 funcname 是一个私有方法,私有方法只能在类内部调用。
使用 __
修饰类的方法,使类的方法私有化
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())
程序运行后,控制台输出如下:
我们定义了一个 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()
程序运行后,控制台输出如下:
我们在类 Person 内部的 info 方法里面调用了类的私有方法 __getscore
,程序没有报错,并且正确输出了 __score
的值,即,私有方法可以在类内部调用。
Python 默认的成员函数都是公开的,在 Python 中定义私有方法只需要在方法名前加上 “__” 两个下划线,那么这个方法就会成为私有的了,私有的属性只能在类内部访问,不能在类的外部调用。Python 私有方法定义语法:
class Person(object):
def __funcname(self, params):
pass