python之中能够通过关键字class创建出类这种和模板有点相同的结构,而在类中定义的函数被称为方法,根据定义方式不同也会分为不同类型。下面这一篇文章主要介绍的内容就是,python类方法和静态方法之间的区别,对此感兴趣和想了解的话就一起看看吧。
一、装饰器不同
类方法和静态方法之间最明显的差异就是使用的装饰器不同了,而装饰器本质上就是一个能够来拓展函数功能的函数。类方法使用装饰器@classmethod来进行装饰,而静态方法则使用@staticmethod装饰器。
而它们二者之间的共同点也在于装饰器,也就是类方法与静态方法都需要使用指定装饰器才能够定义。
二、参数不同
类方法之中是必须要有一个参数,而这个参数的名称通常是cls,且该参数需要放在第一的位置。而这个参数表示的意思实际上就是类本身,是用来指代这个类自己的。而静态方法不需要任何强制定义任何参数,它参数列表内没有参数也是可以的。
三、调用方式相同
以上两点就是类方法以及静态方法的不同点,而它们之间最为显著的相同点则是调用方式不同。因为这两种类型的方法都不需要通过类实例对象调用,直接用类名点方法名就是可以去调用了,并且在调用时都不需要传入任何参数,详细代码示例如下所示:
class Book: @classmethod def class_method(cls): print(f"called class method of {cls}") @staticmethod def static_method(): print("Called static method") Book.class_method() Book.static_method()
以上就是关于“Python类方法和静态方法的区别是什么?Python类方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。