类方法、静态方法、实例方法
-
类方法
1)通过 @classmethod 装饰器修饰的方法就是类方法
2)类方法可以通过类名或对象名调用
3)类方法中会有一个参数cls,表示当前类
4)可以使用类方法和类属性 -
静态方法
1)通过 @staticmethod 装饰器修饰的方法就是静态方法
2)通过类名或者对象名调用静态方法
3)不建议调用类方法和属性 -
实例方法
1)类方法中会有一个参数self,表示当前实例
- 可调用类方法、实例方法和静态方法
# -*- coding: utf-8 -*-
class Fruits(object):
def __init__(self, name):
self.name = name
@staticmethod
def category():
# 静态方法
print("this is a fruit")
def show_name(self):
# 实例方法
print(f"this fruit is {self.name}")
@classmethod
def show_class_name(cls):
cls.category()
if __name__ == '__main__':
Fruits.category()
Fruits.show_class_name()
Fruits("apple").show_name()