• 我们在哪一颗星上见过 ,以至如此相互思念 ;我们在哪一颗星上相互思念过,以至如此相互深爱
  • 我们在哪一颗星上分别 ,以至如此相互辉映 ;我们在哪一颗星上入睡 ,以至如此唤醒黎明
  • 认识世界 克服困难 洞悉所有 贴近生活 寻找珍爱 感受彼此

python关键字:cls

python知识点 云涯 3个月前 (08-12) 346次浏览

概述

1. 简单的类比

想象一个 蛋糕模具工厂

  • 模具 (cls):代表整个蛋糕模具的设计蓝图。它定义了所有蛋糕的共同特征(例如形状、大小)。
  • 单个模具 (self):代表从模具中制作出的一个具体蛋糕。每个蛋糕可以有自己独特的装饰(例如奶油、水果),但它们都遵循模具的基本设计。

2. 核心概念

  • cls

    • 代表 类本身
    • 类方法 中使用。
    • 用于访问和修改 类级别的属性(属于整个类的属性,所有实例共享)。
  • self

    • 代表 类的实例(即对象)。
    • 实例方法 中使用。
    • 用于访问和修改 实例级别的属性(属于特定对象的属性)。

3. 代码示例

class Cake:
    frosting = "vanilla"  # 类属性

    def __init__(self, fruit):
        self.fruit = fruit  # 实例属性

    @classmethod
    def change_frosting(cls, new_frosting):
        cls.frosting = new_frosting

    def describe(self):
        print(f"This cake has {self.fruit} and {self.frosting} frosting.")

# 创建蛋糕实例
cake1 = Cake("strawberries")
cake2 = Cake("blueberries")

# 访问和修改属性
print(Cake.frosting)  # 输出: vanilla
cake1.describe()     # 输出: This cake has strawberries and vanilla frosting.

# 修改类属性
Cake.change_frosting("chocolate")
print(Cake.frosting)  # 输出: chocolate
cake2.describe()     # 输出: This cake has blueberries and chocolate frosting.

云涯历险记 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python关键字:cls
喜欢 (0)