Python实例方法、静态方法和类方法
创始人
2024-03-01 17:22:23

和类属性一样,类方法也可以进行更细致的划分,具体可分为类方法、实例方法和静态方法。

和类属性的分类不同,区分这 3 种类方法是非常简单的,即采用 @classmethod 修饰的方法为类方法;采用 @staticmethod 修饰的方法为静态方法;不用任何修改的方法为实例方法。

其中 @classmethod 和 @staticmethod 都是函数装饰器,后续章节会对其做详细介绍。

Python类实例方法
通常情况下,在类中定义的方法默认都是实例方法。类的构造方法理论上也属于实例方法,只不过它比较特殊。

Python类方法
Python 类方法和实例方法相似,它最少也要包含一个参数,只不过类方法中通常将其命名为 cls,Python 会自动将类本身绑定给 cls 参数(注意,绑定的不是类对象)。也就是说,在调用类方法时,无需显式为 cls 参数传参。

和 self 一样,cls 参数的命名也不是规定的(可以随意命名),只是 Python 程序员约定俗称的习惯而已。
和实例方法最大的不同在于,类方法需要使用@classmethod修饰符进行修饰

Python类静态方法
静态方法,其实就是学过的函数,和函数唯一的区别是,静态方法定义在类这个空间(类命名空间)中,而函数则定义在程序所在的空间(全局命名空间)中。

静态方法没有类似 self、cls 这样的特殊参数,因此 Python 解释器不会对它包含的参数做任何类或对象的绑定。也正因为如此,类的静态方法中无法调用任何类属性和类方法。
静态方法需要使用@staticmethod修饰,

相关内容

热门资讯

光影照初心 担当淬检魂——平利... 为深入开展爱国主义教育,进一步增强党员干警的责任感与使命感,近日,平利县人民检察院组织党员干警观看爱...
【环球财经】法兰西第五共和国陷... 新华财经巴黎12月22日电(记者唐霁)2025年9月,法国总统马克龙任命其执政以来第七位总理勒科尔尼...
新乳业南下:收购福州澳牛,区域... (作者|周琦 编辑|张广凯)六年拉锯,1.11亿元落槌。12月19日,新乳业发布公告,宣布完成对福州...
受权发布|中共中央办公厅 国务... 新华社北京12月22日电 近日,中共中央办公厅、国务院办公厅印发了《关于做好2026年元旦春节期间有...
华秦科技:股东拟询价转让总股本... 格隆汇12月22日|华秦科技(688281.SH)公告称,股东折生阳、周万城、黄智斌、华秦万生计划通...