四 python学习组合

1、组合:把类的实例化放到新类中,即组合 。(具有横向关系的类放到一起需要组合,具有纵向关系的类放到一起需要继承)
class Turtle:# 不实例化则不需要加括号def __init__(self, x):self.num = xclass Fish:def __init__(self, x):self.num = xclass pool:def __init__(self, x, y)self.Turtle = Turtle(x)self.Fish = Fish(y)def print_num(self):print("水池里一共有乌龟 %d 只,小鱼 %d 条!" % (self.Turtle.num, self.Fish.num))pool = pool(1,10)pool.print_num()
2、类,类对象、实例对象
类:定义某一个类 。(在未写完之前)
类对象:写完类之后就是一个对象 。
类定义中类是一个静态对象 。如果属性的名字跟方法名重名,则会报错 。故类定义应尽量使用组合和继承机制,避免bug.类型错误,不能调用 。
3、绑定:
【四python学习组合】

四  python学习组合

文章插图
要求方法需要有实例才能被调用,这种限制其实就是所谓的绑定概念 。
实例化对象(bb,类对象是BB;bb = BB())时,对象需要添加self参数,才可调用 。
查看实例化对象的属性:
实例化对象的属性是字典,类对象属性是个字典,仅有实例化对象的属性,不显示类对象的属性和特殊属性(像魔法方法) 。(键,属性名;属性对应的值)