首页 > 编程语言 > 详细

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

时间:2016-02-26 17:08:34      阅读:239      评论:0      收藏:0      [点我收藏+]

python的类方法需要在方法前面加装饰器:@classmethod ,静态方法是在方法前面加装饰器:@staticmethod。

类方法、类属性是属于类自身,属于类自身的命名空间,和实例方法、实例属性不在一个命名空间下。

实例对象和类都可以直接调用类方法、实例方法和静态方法,区别在于:在类方法和静态方法内部不能调用实例属性。

class Base:
    def __init__(self):
        print "base begin..."
    def prints(self):
        print "print base..."

class Base1:
    def __init__(self):
        print "base1 begin..."
    def printss(self):
        print "print base1..."

class Base2(Base1,Base):
    names = li
    def __init__(self,name):
        self.name = name
    def prints(self):
        print "print objectmethod..."+self.name
    @staticmethod
    def printStatic():
        print "print staticmethod..."
    @classmethod
    def printClass(cls):
        print "print classmethod"+cls.names


b = Base2(king)
b.prints()
b.printClass()
b.printStatic()
print b.names
Base2(jim).printStatic()
Base2(jim).printClass()
Base2(jim).prints()

 

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

原文:http://www.cnblogs.com/phpzhou/p/5220761.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!