私有函数和私有变量

什么是私有函数和私有变量

  • 无法被实例化后的对象调用的类中的函数与变量
  • 类的内部可以调用私有函数与变量
  • 只希望类内部业务调用使用,不希望被使用者使用

私有函数与私有变量的定义方法

  • 在一个变量或函数前添加__(2个下横线),变量或函数名后边无需添加
class Person(object):
def __init__(self, name):
self.name = name
self.__age = 33 # 私有
def dump(self):
print(self.name, self.__age) # 私有
def __cry(self): # 私有
return 'I want cry'
hosted with ❤ by GitHub

代码

# coding:utf-8
class Cat(object):
__cat_type = 'cat'
def __init__(self, name, sex):
self.name = name
self.__sex = sex
def run(self):
result = self.__run()
print(result)
def __run(self):
return f'{self.__cat_type},小猫{self.name}{self.__sex}开心的奔跑着'
def dump(self):
result = self.__dump()
print(result)
def __dump(self):
return f'{self.__cat_type}小猫{self.name}{self.__sex}开心的跳着'
class Test(object):
pass
cat = Cat(name='米粒儿', sex='boy')
cat.run()
cat.dump()
print(dir(cat))
# print(cat._Cat__dump())
hosted with ❤ by GitHub