python中类方法与类属性示例

#coding=utf-8

class Animal(object):
    def __init__(self,name ='动物',color ='白色'):
        self.name =name
        self.color = color
class horse(Animal):
    def __init__(self,name):
        
        super().__init__(name)
bailongma = horse("白龙马")
print(bailongma.color)
print(bailongma.name)

class People(object):
    address = '中国' #类属性
    #实例方法
    def __init__(self):
        self.name = 'xiaohai'#实例属性
        self.age = 8#实例属性
    #实例方法    
    def setAddress(self):
        self.address = 'America'
    #类方法
    @classmethod   
    def setNewAddress(self):
        self.address = 'UA'

xiaohai = People()
print(xiaohai.address)
#中国
xiaohai.setAddress()
print(People.address)
#中国
print(xiaohai.address)
#America
xiaohai.setNewAddress()
print(People.address)
#UA
print(xiaohai.age)
print(xiaohai.name)

'''
总结:
         类对象可以调用类方法(如  People.setNewAddress())和类属性(People.address),但是不能调用实例方法(People.setAddress()),也不能访问类属性(People.name())
         实例对象可以调用类方法(xiaohai.setNewAddress())和实例方法(xiaohai.setAddress()),也可以获取类属性(xiaohai.address)和实例属性(xiaohai.name),但只能修改实例属性(xiaohai.age=9)不能修改类属性(xiaohai.address='us'(这里只是新添加了一个xiaohai地址属性,并没有改变People类中的address类属性),
         可以通过调用类方法来修改相关类属性)
       ''' 

猜你喜欢

转载自blog.csdn.net/senwen616/article/details/82183979
今日推荐