#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类属性),
可以通过调用类方法来修改相关类属性)
'''
python中类方法与类属性示例
猜你喜欢
转载自blog.csdn.net/senwen616/article/details/82183979
今日推荐
周排行