大家好,欢迎来到IT知识分享网。
实例方法、类方法、静态方法的区别
这三种方法都是保存在类的内存中,调用者不同。
- 实例方法由对象调用,至少一个
self
参数,self
代表对象的引用。
self指向当前的实例对象,所以只要该方法有self
参数,在调用此方法的时候会先把这个对象的内存空间加载进来,以便在方法中使用该实例对象的属性或者方法 - 类方法由类调用,至少一个
cls
参数,并且需要装饰器@classmethod
修饰
cls指向当前的类对象,类对象不等于实例对象,类对象和实例对象都有单独的内存空间存储,当调用一个含有@classmethod
装饰的方法,则会先加载这个类的内存空间 - 静态方法由类调用,不需要参数,需要装饰器
@staticmethod
修饰
静态方法不不要使用实例对象的属性方法也不需要使用类对象的属性所有无论往静态方法中传一个self
还是cls
都会加载对应的资源,而静态方法又不使用,所有为了节省资源静态方法就应运而生.并且一直保存再来没有删除,尽管用到的次数很少.
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/22084.html