ITPub博客

首页 > 大数据 > 数据分析 > python实例方法、类方法和静态方法的区别

python实例方法、类方法和静态方法的区别

原创 数据分析 作者:jauar513 时间:2019-06-03 10:30:05 0 删除 编辑
python实例方法、类方法和静态方法的区别


首先看一个实例,类A中的方法依次是实例方法、类方法和静态方法
class A(object):
    def instancemethod(self);
         print "i am instancemethod"
    @classmethod
    def classmethod(cls):
         print "i am classmethod"
    @staticmethod
    def staticmethod():
        print "i am staticmethod"

a = A()
a.instancemethod()
A.instancemethod()
A.staticmethod()
A.classmethod()
a.classmethod()
a.staticmethod()
>>>i am instancemethod
>>>Traceback (most recent call last):
  File "test.py", line 15, in <module>
    A.instancemethod()
TypeError: unbound method instancemethod() must be called with A instance as first argument (got nothing instead)
>>>i am staticmethod
>>>i am classmethod
>>>i am classmethod
>>>i am staticmethod
从输出结果可知:
1、实例方法只能只能被实例对象所调用,不能被类直接调用
2、类方法和静态方法既可以被实例对象调用又可以被类调用
使用场景:
------未完待续-------

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30541278/viewspace-2150687/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2015-10-25

  • 博文量
    24
  • 访问量
    25731