欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python中 普通方法_python中普通方法classmethod和staticmethod的区别与用法

发布时间:2024/9/3 python 51 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python中 普通方法_python中普通方法classmethod和staticmethod的区别与用法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

class Foo(object):

#实例方法,第一个承诺书必须是实例对象,一般习惯用self.

def ins_m(self):

print("是类{}的实例方法,只能被实例调用".format(Foo))

#类方法,第一个参数必须是类对象,一般习惯使用cls.使用@classmethod装饰器装饰

@classmethod

def cla_m(cls):

print('class method')

#j静态方法,参数没有要求,和类没有绑定关系,就是一个普通的方法,

@staticmethod

def sta_m():

print('static method')

foo=Foo() #创建一个实例

#实例方法只能被实例调用 (如果把实例方法的参数去掉,可以被类调用,不能被实例调用!)

#类方法可以被类和实例调用

#静态方法可以被类和实例调用 (不需要参数)

因此:当类中的某个方法是一个普通方法时,加一个staticmehod装饰器,不需要添加实例参数。此方法可以用外部函数替换。

另外还有一个abstractmethod,抽象类,一般在基类中使用,只能被继承,不能被实例化!

总结

以上是生活随笔为你收集整理的python中 普通方法_python中普通方法classmethod和staticmethod的区别与用法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。