在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
Python开发中类方法、类实例方法、静态方法的区别和作用:类方法是类对象的方法;类实例方法是类实例化对象的方法;态方法是一个任意函数,在其上方使用“@staticmethod”进行装饰。
类方法:是类对象的方法,在定义时需要在上方使用“@classmethod”进行装饰,形参为 cls,表示类对象,类对象和实例对象都可调用;
类实例方法:是类实例化对象的方法,只有实例对象可以调用,形参为 self,指代对象本身;
静态方法:是一个任意函数,在其上方使用“@staticmethod”进行装饰,可以用对象直接调用,静态方法实际上跟该类没有太大关系。
这三种方法都定义在类中。下面我先简单说一下怎么定义和调用的,其中实例对象的权限最大。
实例方法定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法也可以传类的属性和方法;
调用:只能由实例对象调用。
类方法定义:使用装饰器@classmethod。第一个参数必须是当前类对象,该参数名一般约定为“cls”,通过它来传递类的属性和方法(不能传实例的属性和方法);
调用:实例对象和类对象都可以调用。
静态方法定义:使用装饰器@staticmethod。参数随意,没有“self”和“cls”参数,但是方法体中不能使用类或实例的任何属性和方法;
调用:实例对象和类对象都可以调用。
实例方法简而言之,实例方法就是类的实例能够使用的方法。这里不做过多解释。
类方法使用装饰器@classmethod。
原则上类方法是将类本身作为对象进行操作的方法。假设有个方法,且这个方法在逻辑上采用类本身作为对象来调用更合理,那么这个方法就可以定义为类方法。另外,如果需要继承,也可以定义为类方法。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
lambda函数是什么?lambda函数有什么优势?
lambda函数是什么?lambda函数有什么优势?lambd函数是一个可以接收任意多个参数并且返回单个表达式值的函数。lambda函数比较轻便,即用即仍,匿名函数,作为回调函数,传递给某些应用。
10121
2019-06-28 15:50:14
Python开发的魔法方法总结
Python开发的魔法方法总结:魔法方法就是可以给你的类增加魔力的特殊方法, __init__ 构造器,__new__才是实例化对象调用的第一个方法,__call__ 允许一个类的实例像函数一样被调用。
6612
2019-07-01 15:55:02
Python开发多进程、多线程以及协程是什么?项目是否用?
其实多线程,多进程,在实际开发中用到的很少,进程:一个运行的程序(代码)就是一个进程,没有运行的代码叫程序;线程:调度执行的最小单位,也叫执行路径;协程:是一种用户态的轻量级线程,协程的调度完全由用户控制。
10594
2019-07-02 16:33:41
MySQL中索引如何使用?有哪些优缺点?
MySQL中索引如何使用?有哪些优缺点?索引在MySQL中叫做“键”,当数据库中数据量很大时查找数据很慢,我们就可以通过索引来提高数据库的查询效率。
3122
2022-02-11 13:52:24
Python 成为最受欢迎的语言靠实力吗?
Python起源一种shell的脚本语言 ,而现在已经发展成最通用的语言之一了,TIOBE指数的数据显示,Python是目前世界上最受欢迎的编程语言。
2976
2022-05-06 14:24:58