四时宝库

程序员的知识宝库

python类中的3种方法(python 中的类)

# 类中的3种方法
# 1、类方法
# 2、静态方法
# 3、实例方法

class Person(object):
    #类属性
    name = 'Jay'

    # 类方法,用@classmethod装饰器表示是类方法,方法形参必须要有(默认是cls)
    @classmethod
    def getClsProperty(cls):
        return cls.name
    @classmethod
    def setClsProperty(cls, name):
        cls.name = name

    # 静态方法,用@staticmethod装饰器表示是静态方法,注意形参可以为空
    @staticmethod
    def stMethod():
        print('我是静态方法,类{}中类属性name的值是:{}'.format(Person.__name__, Person.name))

    # 实例方法 之 构造方法,当实例对象初始化时调用,方法形参必须要有(默认是self)
    def __init__(self, name):
        self.name = name
    # 实例方法 之 析构方法,当实例对象不再被引用,垃圾回收时调用。
    def __del__(self):
        pass
    def getName(self):
        return self.name
    def setName(self, name):
        self.name = name

if __name__ == '__main__':
    # 调用类中的静态方法
    Person.stMethod()
    # 调用类中的类方法
    print('使用类方法返回类属性name的值:', Person.getClsProperty())
    Person.setClsProperty('CLASS_NAME')
    print('使用类方法设置类属性name值后再返回值:', Person.getClsProperty())
    # 调用类中的实例方法
    p = Person('老六')
    print('使用实例方法返回实例属性name的值:', p.getName())
    p.setName('小六')
    print('使用实例方法设置实例属性name值后再返回值:', p.getName())

执行结果:

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接