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

  • 设置

1199

6 分钟

#类的公共成员

对象的属性和方法是独立的,例如每一只猫都有自己独一无二的名字;而有些东西却是所有对象公共的,例如所有猫的生物学分类都属于“家猫”这一物种。

Python 中可以创建类的公共成员:

  • 公共属性的创建方式为在类里定义变量
  • 公共方法的创建方式为不带 self 参数

类的公共成员也可以使用两个下划线开头的名称设为私有,只能通过类的公共方法或该类的对象的方法访问。

# 创建类 class Cat: """ 猫类 """ # 公共属性 kingdom = 'Animalia' # 界:动物界 phylum = 'Chordata' # 门:脊索动物门 class_ = 'Mammalia' # 纲:哺乳纲,因为 class 是 Python 的关键字,所以添加了一个下划线后缀 order = 'Carnivora' # 目:肉食目 family = 'Felidae' # 科:猫科 henus = 'Felis' # 属:猫属 species = 'Felis catus' # 种:家猫 # 公共方法,没有 self 参数 def taxonomy(): print(f"{Cat.kingdom}-{Cat.phylum}") # 构造函数 def __init__(self): pass # 创建对象 tom = Cat() garfield = Cat() # 通过类和对象均可访问公共属性 print(Cat.kingdom) print(tom.kingdom) print(garfield.kingdom) # 通过类修改公共属性 Cat.kingdom = 'unknown' print(Cat.kingdom) print(tom.kingdom) print(garfield.kingdom) # 不同通过对象修改公共属性 tom.kingdom = 'rate' # 实际上给 tom 添加了一个新属性 print(Cat.kingdom) print(tom.kingdom) print(garfield.kingdom) # 通过类调用公共方法 Cat.taxonomy() # 不能通过对象调用功能方法,因为会自动传递 self 参数 try: garfield.taxonomy() except: print("无法调用 garfield.taxonomy")
Loading...

创建于 5/7/2025, 2:00:24 PM

更新于 5/7/2025, 2:00:24 PM