国际访客建议访问 Primers 编程伙伴 国际版站点 > Python 教程 > 类的公共成员 以获得更好的体验。

# Python 类的公共成员

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

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")
本文 更新于: 2025-06-19 01:15:30 创建于: 2025-06-19 01:15:30