• 预备
  • 基础语法
  • 容器类型
  • 函数
  • 面向对象
  • 输入输出
  • 进程控制
  • 线程控制
  • 正则表达式
  • 网络编程
  • 图形界面
  • 常见问题
  • API 帮助手册

  • 设置

1608

8 分钟

#成员的可见性

通过 对象.成员 可以访问对象成员:

# 创建类 class Cat: """ 猫类 """ def __init__(self, name:str): """ 构造函数 参数: name(str):名字 """ self.name = name # 创建 name 属性 # 创建一群猫 cat1 = Cat("Tom") cat2 = Cat("Happy") cat3 = Cat("娘口三三") # 访问 name 属性 print(cat1.name) print(cat2.name) print(cat3.name) # 修改 name 属性 cat1.name = '薛定谔' print(cat1.name)
Loading...

#私有成员

私有变量只能被拥有它的对象访问,即只能通过该对象的方法读取和修改。 回顾 命名规则

  • 私有变量使用两个下划线开头,例如 __age_of_yukari

方法也能通过这样的命名成为私有方法

例如,将猫的名字设为私有属性,通过 name 方法读取, set_name 方法修改,并且禁止将猫命名为 薛定谔

# 创建类 class Cat: """ 猫类 """ def __init__(self, name:str): """ 构造函数 参数: name(str):名字 """ self.__name = name # 创建 __name 属性 def name(self) -> str: """ name 方法,获取猫的名字 返回值: str: 猫的名字 """ return self.__name def set_name(self, name:str) -> bool: """ set_name 方法,设置猫的名字 参数: name(str):名字 返回值: bool:是否成功 """ if (name == "薛定谔"): return False self.__name = name return True # 创建对象 cat = Cat("Garfield") print(cat.name()) # 尝试直接读取 try: print('读取 __name 成功', cat.__name) except Exception as e: print('读取 __name 失败') # 尝试命名为薛定谔 cat.set_name("薛定谔") print(cat.name())
Loading...

创建于 2025/5/7 22:00:16

更新于 2025/5/7 22:00:16