类属性
- class Human(object):
- taisheng = True
为什么要叫类属性呢,因为这个属性是和类绑定的,并不是和实例绑定的。胎生这个属性是全人类共有的,并不是某个人特殊拥有的属性。
实例属性
- class Human(object):
- def __init__(self, name):
- self.name = name
- human_a = Human("alan")
ruby
我们首先实例化了一个人类human_a,然后给这个人类设置了一个实例属性name,name这个属性独立于其他的人类,是和实例绑定的,所以叫实例属性。
- 实例属性可以在实例创建后任意时间设置。
-
一般放在构造函数里__init()__
#类 class human: def __init__(self,name): self.name=name human_a=human("a") print(human_a.name) #继承 class man(human): def __init__(self,name,has_wife): super(man,self).__init__(name) self.has_wife=has_wife newman=man(name="ab",has_wife="has") print(newman.has_wife)
运行结果:
a has
小结:
Python中 super(Man, self).__init__(name)等价于调用了父类Human的构造函数,就不用再复制粘贴一遍了。