zoukankan      html  css  js  c++  java
  • 关于python的类方法、实例方法和静态方法区别

    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 获取项目的根路径
    信息系统项目管理师-1.4软件工程
    信息系统项目管理师
    信息系统项目管理师-导学
    信息系统项目管理师-考试安排
    读取text行列
    pipeline基本框架思维
    Linux压缩隐藏文件
    python+appium环境搭建
    leetcode for mysql
  • 原文地址:https://www.cnblogs.com/phpzhou/p/5220761.html
Copyright © 2011-2022 走看看