1、类animal = Animal('汪'),animal叫对象,类里的变量叫属性,类里定义的叫方法,类外面用def定义的叫函数。只是类里定义的方法第一个参数是self
每个对象的属性,以及类的属性(Animal.voice)是单独存储的
class Animal(object): voice = '咩' def __init__(self,voice): #__init__为python内置函数 Animal.voice = voice #直接对类的属性进行修改 def cat(self): pass print(Animal.voice) animal = Animal('汪') #Animal为一个类型,animal为用类型创建出来的对象 print(Animal.voice) animal2 = Animal('喵') print(animal.voice) print(animal2.voice) print(Animal.voice) 控制台输出: 咩 汪 喵 喵 喵
2、由1所知Animal.voice = voice为直接对类的属性进行修改,那么如何只对对象的属性进行修改,而不影响其它创建的对象呢
class Animal(object): voice = '咩' def __init__(self,voice): self.voice = voice #self.voice代表实例化后的对象 def cat(self): pass print(Animal.voice) animal = Animal('汪') print(Animal.voice) animal2 = Animal('喵') print(animal.voice) #self.voice这种的,当发现self(对象)里面没有这种能力的时候,才会到Animal这个类型里去找;如果Animal这个类里没有,会到Animal的基类内找 print(animal2.voice) print(Animal.voice) 控制台输出: 咩 咩 汪 喵 咩
3、
4、