Loading

python类中变量和方法介绍

在 Python 里,类是一种用于创建对象的蓝图,类包含变量和方法。下面为你详细介绍类中的变量和方法:

类变量

类变量由类的所有实例共享,定义在类里但在方法之外。

class Dog:
    # 类变量
    species = "Canis familiaris"

    def __init__(self, name, age):
        self.name = name
        self.age = age

# 创建 Dog 类的实例
dog1 = Dog("Buddy", 3)
dog2 = Dog("Molly", 5)

# 访问类变量
print(dog1.species)  
print(dog2.species)  

实例变量

实例变量属于类的各个实例,在方法内部定义,通常在 __init__ 方法里初始化。

class Dog:
    def __init__(self, name, age):
        # 实例变量
        self.name = name
        self.age = age

# 创建 Dog 类的实例
dog1 = Dog("Buddy", 3)
dog2 = Dog("Molly", 5)

# 访问实例变量
print(dog1.name) 
print(dog2.age)  

实例方法

实例方法在类里定义,第一个参数通常是 self,它指向类的实例。实例方法可访问和修改实例变量。

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    # 实例方法
    def bark(self):
        print(f"{self.name} says woof!")

# 创建 Dog 类的实例
dog1 = Dog("Buddy", 3)

# 调用实例方法
dog1.bark()

类方法

类方法用 @classmethod 装饰器定义,第一个参数通常是 cls,它指向类本身。类方法可以访问和修改类变量。

class Dog:
    species = "Canis familiaris"

    @classmethod
    # 类方法
    def change_species(cls, new_species):
        cls.species = new_species

# 调用类方法
Dog.change_species("Canis lupus")

# 访问修改后的类变量
print(Dog.species)  

静态方法

静态方法用 @staticmethod 装饰器定义,它没有 selfcls 参数。静态方法与类和实例的状态无关,只是在逻辑上属于类。

class Dog:
    @staticmethod
    # 静态方法
    def info():
        print("A dog is a domesticated mammal.")

# 调用静态方法
Dog.info()

总结如下:

  • 类变量:被类的所有实例共享。
  • 实例变量:属于类的各个实例。
  • 实例方法:通过实例调用,可访问和修改实例变量。
  • 类方法:通过类或实例调用,可访问和修改类变量。
  • 静态方法:通过类或实例调用,与类和实例的状态无关。
posted @ 2025-04-28 08:48  一只大学生  阅读(48)  评论(0)    收藏  举报