python中通过class定义类并创建对象,类包含属性和方法,__init__初始化实例,self指代当前对象,支持动态修改属性;类方法用@classmethod装饰,静态方法用@staticmethod装饰,分别操作类数据和封装独立逻辑;对象生命周期由垃圾回收管理,del删除引用时可触发__del__清理资源。

在Python中,对象是面向对象编程的核心。要理解Python对象的创建与使用,需要先了解类(class)的概念。类是对象的模板,而对象是类的实例。通过定义类并实例化它,就可以创建对象。
定义类与创建对象
使用 class 关键字来定义一个类。类中可以包含属性和方法。创建对象时,通过调用类名并传入必要的参数即可生成实例。
示例:
class Person: def __init__(self, name, age): self.name = name self.age = age <pre class="brush:php;toolbar:false;"><pre class="brush:php;toolbar:false;">def introduce(self): print(f"我是{self.name},今年{self.age}岁。")
创建对象
person1 = Person(“张三”, 25) person1.introduce() # 输出:我是张三,今年25岁。
说明:
– __init__ 是构造方法,用于初始化对象的属性。
– self 指向当前实例,必须作为第一个参数出现在每个实例方法中。
– 创建对象时,括号中的参数会传递给 __init__ 方法。
访问与修改对象属性
对象创建后,可以通过点号(.)访问其属性和方法。属性可以在运行时动态修改。
- 访问属性:person1.name
- 修改属性:person1.age = 30
- 添加新属性:person1.city = “北京”
立即学习“Python免费学习笔记(深入)”;
注意:
虽然Python允许动态添加属性,但在类中明确定义所有属性有助于代码维护和可读性。
使用类方法和静态方法
除了实例方法,类还可以定义类方法和静态方法,它们有不同的用途和调用方式。
- 类方法:使用 @classmethod 装饰器,第一个参数是 cls,表示类本身。适合用于替代构造函数或操作类级别的数据。
- 静态方法:使用 @staticmethod 装饰器,不需要 self 或 cls 参数。适合封装与类相关但不依赖实例或类状态的逻辑。
示例:
class Person: species = "Homo sapiens" <pre class="brush:php;toolbar:false;"><pre class="brush:php;toolbar:false;">def __init__(self, name): self.name = name @classmethod def get_species(cls): return cls.species @staticmethod def is_adult(age): return age >= 18
调用类方法和静态方法
print(Person.get_species()) # 输出:Homo sapiens print(Person.is_adult(20)) # 输出:True
对象的生命周期与内存管理
Python对象在创建时分配内存,在不再被引用时由垃圾回收机制自动释放。可以使用 del 语句删除对象引用。
<pre class="brush:php;toolbar:false;">del person1 # 删除对象引用,触发垃圾回收
当对象被销毁前,如果定义了 __del__ 方法,它会被自动调用,可用于清理资源。
基本上就这些。掌握类的定义、对象的创建、属性和方法的使用,是Python面向对象编程的基础。实际开发中合理设计类结构,能提升代码的复用性和可维护性。


