类方法与类属性
類方法的存在即為了修改類屬性。
代碼示例:
class People(object):address = "山東" #類屬性#實(shí)例方法def __init__(self):self.name = "xiaowang" #實(shí)例屬性self.age = 20 #實(shí)例屬性#類方法@classmethoddef setNewAddress(cls):cls.address = "內(nèi)蒙古"#可以通過類名的方式來獲取類屬性#但是不能通過類名獲取實(shí)例屬性#類對象,可以直接調(diào)用類屬性,也可以直接調(diào)用類方法#但是類對象,不允許調(diào)用實(shí)例屬性,并且也不允許調(diào)用實(shí)例方法#如果是一個實(shí)例對象#它可以獲取實(shí)例屬性和類屬性的值,但是只能修改實(shí)例屬性,不能修改類屬性#他還可以調(diào)用實(shí)例方法和類方法 xiaoming = People() xiaoming.setNewAddress() print(People.address)執(zhí)行結(jié)果: 內(nèi)蒙古代碼示例2:
class Animal(object):def __init__(self, name = "動物", color = "白色"):self.name = nameself.color = colorclass Horse(Animal):horseNum = 0 #類屬性def __init__(self, name, color = ""):super().__init__(name)self.setHorseNum()@classmethoddef setHorseNum(cls):cls.horseNum += 1bailongma = Horse("白龍馬") print(bailongma.name) print(bailongma.color) print(bailongma.horseNum)chituma = Horse("赤兔馬") print(chituma.name) print(chituma.color) print(chituma.horseNum)執(zhí)行結(jié)果: 白龍馬 白色 1 赤兔馬 白色 2
轉(zhuǎn)載于:https://www.cnblogs.com/Guido-admirers/p/6306712.html
總結(jié)
- 上一篇: ExclusiveTouch
- 下一篇: 2017.1.19切题总结