# -*- coding: UTF-8 -*- class Person: def __init__(self, f_name, s_name): self.__f_name = f_name # 私用属性。__ 只能在内部调用 self.s_name = s_name # 特性 @property # 装饰下面函数,不需要加()就可以执行 def full_name(self): return f"{self.__f_name} {self.s_name}" # 使用私用属性 obj = Person('xu', 'dc') print(obj.full_name) # print(obj.__f_name) # 私用属性,无法在外部调用 ###============ 函数匿名 ============### class A(): def __run(self): # 函数也可以定义为 私用 __ 双下滑线 pass class B(A): pass obj = B() # print(obj.__run(1)) # 无法调用 print(A.__dict__) # 重命名技术。可以打印出来。看看 __run 变成了什么样 A._A__run(1) # 这样就可以访问私用属性了。