私有方法本质上也是私有属性的一种,而它们都是类对象下的私有对象。
【案例1】测试私有方法
例1.1
class Employee:
def __work(self): # 私有方法
print('努力工作,开心生活!')
e = Employee()
e.work() # 一般情况下类方法的访问方法,不可用
运行结果:
例1.2
class Employee:
def __work(self): # 私有方法
print('努力工作,开心生活!')
e = Employee()
e.__work() # 另一种错误的外部访问私有属性(方法)的方式
运行结果:
例1.3
class Employee:
def __work(self): # 私有方法
print('努力工作,开心生活!')
e = Employee()
e._Employee__work() # 访问私有属性(方法)的正确格式
运行结果:
【案例2】类内部可以访问私有属性(方法)
class Employee:
__company = '腾讯' # 类的私有属性
def __init__(self, name, age):
self.name = name
self.__age = age # 实例的私有属性
def work(self):
print('我叫{},今年{}岁,我在{},我要努力工作,开心生活!'.format(self.name, self.__age, self.__company))
e = Employee('李明', 19)
e.work()
运行结果: