当前位置:   article > 正文

@classmethod与@staticmethod区别_@classmethod @staticmethod 区别

@classmethod @staticmethod 区别

在Python中有3种方式定义类方法分别是常规方式、@classmethod修饰方式、@staticmethod修饰方式。

接下来分别对3种不同方式的定义举例说明。

普通方法: 其实就是需要操作一些实例独有的属性,是实例而不是类。第一个参数一般是隐式地将实例传递给self参数。

class People():
    def __init__(self, name, gender):
        self.name = name
        self.gender = gender
    
    def greeting(self):
        return f'Hello, {self.name}'

p = People('Anders', 'Male')
p.greeting()

# 输出内容:
# 'Hello, Anders'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

@staticmethod: 静态方法其实就是一个普通的函数,可以使用类名直接调用,很多人不太明白的是为什么不直接把静态方法放在类外调用呢,毕竟效果一样,但是从代码逻辑从属

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/716520
推荐阅读
相关标签
  

闽ICP备14008679号