微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python类方法和静态方法的区别是什么?Python类方法 静态方法有哪些异同点

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] 举报,一经查实,本站将立刻删除。

相关推荐