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 装饰器定义,它没有 self 或 cls 参数。静态方法与类和实例的状态无关,只是在逻辑上属于类。
class Dog:
@staticmethod
# 静态方法
def info():
print("A dog is a domesticated mammal.")
# 调用静态方法
Dog.info()
总结如下:
- 类变量:被类的所有实例共享。
- 实例变量:属于类的各个实例。
- 实例方法:通过实例调用,可访问和修改实例变量。
- 类方法:通过类或实例调用,可访问和修改类变量。
- 静态方法:通过类或实例调用,与类和实例的状态无关。

浙公网安备 33010602011771号