在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'
@staticmethod: 静态方法其实就是一个普通的函数,可以使用类名直接调用,很多人不太明白的是为什么不直接把静态方法放在类外调用呢,毕竟效果一样,但是从代码逻辑从属来说,静态方法是一种组织或风格
Python中classmethod与staticmethod的区别详解

本文介绍了Python中定义类方法的三种方式:常规方法、@classmethod和@staticmethod。普通方法用于操作实例属性,静态方法作为组织代码的手段,与类相关但不依赖实例。类方法可通过类或实例调用,常用于类相关的操作,如计数或预处理数据。通过示例展示了类方法如何影响实例和类属性,并给出了类方法适用的场景。
最低0.47元/天 解锁文章
1万+





