当前位置:首页>python>Python开发从零开始-20.2-基础语法(面向对象)

Python开发从零开始-20.2-基础语法(面向对象)

  • 2026-10-11 07:43:30
Python开发从零开始-20.2-基础语法(面向对象)

接上文Python开发从零开始-20.1-基础语法(面向对象),本文将继续介绍 Python 面向对象编程的相关知识。

(三)定义类的方法

在类内部,你可以定义一个或多个方法。方法是与类相关联的函数。它们可以是类的实例方法、类方法或静态方法。

  • 实例方法:Python 类的实例方法是默认绑定到类实例的方法,必须通过类的实例对象调用,用于访问和修改实例属性。‌‌实例方法定义时的第一个参数通常为 self(self 表示类的实例对象本身);

  • 类方法:‌Python 类方法是跟类绑在一起的方法,可以通过类或对象调用,主要用来操作类共有的数据,或者灵活创建对象。‌‌‌类方法定义时使用 @classmethod 标记,第一个参数是通常为 cls‌(cls 表示类本身);

  • 静态方法:‌Python 类的静态方法通常用于逻辑上属于类,但不需要访问实例或类属性的方法(即用于执行与类相关的操作,但不涉及类或实例对象的状态变化),可以通过类或对象调用。类的静态方法定义时使用@staticmethod标记,不要在静态方法中使用 self 或 cls,也不要直接访问类或实例的属性和方法,因为这不是该语法的设计初衷。

【小编提示】
@classmethod 和 @staticmethod 是 Python 中用于定义类中特殊方法的装饰器。Python 装饰器(decorator)是 Python 中的一种高级功能,用于在不修改原函数代码的前提下,动态扩展函数或类的功能。
有关装饰器的内容,后续文章将深入介绍。

1、定义简单类的实例方法

(1)基本语法

class 类名:
def 方法名(self, 参数列表):
        语句块
  • 实例方法的定义与普通函数基本相同,但是必须包含在类的内部;
  • 实例方法的第一个参数通常使用 self,不建议更改;
  • 参数列表可以有零或多个,多个参数使用逗号 , 分隔;
  • 实例方法调用前需实例对象,采用 对象.方法名 语法进行调用;
  • 实例方法用于访问和修改实例属性。‌‌

(2)编程示例

2、定义类方法

(1)基本语法

class 类名:   

@classmethod

    def 方法名(cls, 参数列表):        
        语句块
  • 类方法的定义与普通函数基本相同,但是必须包含在类的内部;
  • 类方法需使用 @classmethod 标记;
  • 类方法的第一个参数通常使用 cls,不建议更改;参数列表可以有零或多个,多个参数使用逗号 , 分隔;
  • 类方法可以使用 类名.方法名 或 对象.方法名 语法进行调用;
  • 类方法用于访问和修改类属性。‌‌

(2)编程示例

3、静态方法

(1)基本语法

class 类名:   

    @staticmethod

    def 方法名(参数列表):        
        语句块
  • 静态方法的定义与普通函数基本相同,但是必须包含在类的内部;
  • 静态方法需使用 @classmethod 标记;
  • 静态方法参数列表可以有零或多个,多个参数使用逗号 , 分隔;
  • 静态方法以使用 类名.方法名 或 对象.方法名 语法进行调用,不推荐使用 对象.方法名 语法进行调用;
  • 静态方法主要用于工厂方法、日志记录、配置管理等。‌‌

(2)编程示例

4、__init__方法

__init__ 是 Python 中一个特殊的方法(魔法函数)。它在创建类的新实例时自动调用,用于初始化实例变量并执行其他必要的设置操作。

(1)基础语法

class 类名:   

__init__(self, 参数列表):        
        语句块
  • __init__ 方法定义与普通函数基本相同,但是必须包含在类的内部;
  • __init__ 方法第一个参数通常使用 self,参数列表可以有零或多个,多个参数使用逗号 , 分隔,,且不应返回非 None 值;
  • __init__ 方法主要用于初始化实例变量并执行其他必要的设置操作。‌‌
  • 如果没有显示定义 __init__ 方法,则系统会自动定义一个空的(无参数列表) __init__ 方法;

  • __init__ 方法无法直接调用,如果显示定义  __init__ 方法每次创建一个类的实例时系统会自动调用;

  • __init__ 不是构造函数(对象由 __new__ 创建),而是初始化器。‌‌

(2)编程示例

【小编提示】

Python 魔法函数‌也叫 dunder 方法(double underscore),是以双下划线开头和结尾的特殊方法,语法为 __方法名__,Python 解释器会在特定操作时自动调用,无需手动触发。‌‌‌

魔法函数相关知识,后续会专题讨论。

受文章篇幅所限,下文将继续介绍 Python 面向对象编程的相关知识。

最新文章

随机文章