以下代码诠释实例方法、类方法及静态方法的使用 import inspect class Class1: def __init__(self, length, width): # 初始化 self.length = length # 将用户传的参数转为实例自身 self.width = width # 将用户传的参数转为实例自身 def perimeter(self): # 实例方法 只能实例化调用 return self.length * self.width def area(self): return (self.length + self.width) * 2 @classmethod # 该装饰器声明下面方法属于类方法;实例可以调用,类本身也可以调用 def features(cls, a, b): return a * b @staticmethod # 该装饰器声明下面方法属于静态方法,本质上是函数,只是写在了类里面;实例可以调用,类本身也可以调用 def sumdata(a, b): return a + b, '我是静态方法' # re = Class1(2, 3) # print(type(rq.perimeter)) # 实例方法 # print(type(Class1.features)) # 类方法 # # print(type(Class1.sumdata)) # 静态方法 # print(inspect.ismethod(re.perimeter)) # 该方法询问是否是method 返回布尔值 # print(inspect.isfunction(re.perimeter)) # 该方法询问是否是function 返回布尔值
python进阶 实例方法,类方法及静态方法的使用
最新推荐文章于 2024-07-17 21:04:45 发布