zoukankan      html  css  js  c++  java
  • 类方法与类属性

    类方法的存在即为了修改类属性。

    代码示例:

    class People(object):
        address = "山东"              #类属性
        #实例方法
        def __init__(self):
            self.name = "xiaowang"         #实例属性
            self.age = 20                   #实例属性
    
        #类方法
        @classmethod
        def setNewAddress(cls):
            cls.address = "内蒙古"
    
        #可以通过类名的方式来获取类属性
        #但是不能通过类名获取实例属性
    
        #类对象,可以直接调用类属性,也可以直接调用类方法
        #但是类对象,不允许调用实例属性,并且也不允许调用实例方法
    
        #如果是一个实例对象
        #它可以获取实例属性和类属性的值,但是只能修改实例属性,不能修改类属性
        #他还可以调用实例方法和类方法
    xiaoming = People()
    xiaoming.setNewAddress()
    print(People.address)
    
    执行结果:
    内蒙古
    

    代码示例2:

    class Animal(object):
        def __init__(self, name = "动物", color = "白色"):
            self.name = name
            self.color = color
    
    class Horse(Animal):
        horseNum = 0            #类属性
    
        def __init__(self, name, color = ""):
            super().__init__(name)
            self.setHorseNum()
    
        @classmethod
        def setHorseNum(cls):
            cls.horseNum += 1
    
    bailongma = Horse("白龙马")
    print(bailongma.name)
    print(bailongma.color)
    print(bailongma.horseNum)
    
    chituma = Horse("赤兔马")
    print(chituma.name)
    print(chituma.color)
    print(chituma.horseNum)
    
    
    执行结果:
    白龙马
    白色
    1
    赤兔马
    白色
    2
    

      

  • 相关阅读:
    glob
    【转载】分词小结
    【pandas】基本处理
    【pandas】函数映射:map() /apply() /applymap()
    C# 获取计算机信息
    oracle 关键字
    oracle 触发器
    C# DataTable分页处理
    C#常用控件介绍
    C# 关键字【转】
  • 原文地址:https://www.cnblogs.com/Guido-admirers/p/6306712.html
Copyright © 2011-2022 走看看