📜  Python中的类或静态变量(1)

📅  最后修改于: 2023-12-03 15:04:37.030000             🧑  作者: Mango

Python中的类或静态变量

在 Python 中使用类,可以将数据和行为封装在一个单一的实体中,对代码进行组织和简化,使其更加易于维护。

定义一个类,使用关键字 class 加类名:

class MyClass:
    pass

我们可以使用 __init__() 方法初始化新创建的对象,该方法可以在创建类的实例时调用:

class MyClass:
    def __init__(self, name):
        self.name = name

可以通过以下代码创建类的实例并设置其变量:

obj = MyClass("test")
print(obj.name)
静态变量

在类中定义的变量是实例变量,它们是在类的每个实例中独立存在的。但是,有些情况下我们只需要在类级别上定义变量,以便该变量与类本身相关,而不是与类的某个实例相关。

Python 提供了使用关键字 @classmethod@staticmethod 声明类级别的方法。这些方法与类的实例无关,可以直接从类中调用。

class MyClass:
    count = 0
    
    def __init__(self, name):
        self.name = name
        MyClass.count += 1
    
    @classmethod
    def get_count(cls):
        return cls.count
    
    @staticmethod
    def print_hello():
        print("Hello, world!")

在上面的示例中,count 是类级别的变量,可在类的任何实例中访问和更改。get_count() 是类级别的方法,该方法返回类级别变量 count 的当前值。print_hello() 是静态方法,该方法不需要访问实例或类级别变量,因此可以直接从类中调用。

obj = MyClass("test")
print(obj.get_count())  # 输出:1
MyClass.print_hello()  # 输出:Hello, world!