p40类和对象,拾遗

组合是把类的实例化放到一个新类里面
把横向关系的类组合到一起

class Fish:
    def __init__(self,x):
        self.num = x

class Turtle:
    def __init__(self,y):
        self.num = y

class Pool:
    def __init__(self,x,y):
        self.fish = Fish(x)
        self.turtle = Turtle(y)

    def  print_num(self):
        print("水池里一共有乌龟%d只,小鱼%d条"%(self.turtle.num,self.fish.num))
        #这里python3需要加括号,不然会报错**not enough arguments for format string**

pool= Pool(1,10)
pool.print_num()

在这里插入图片描述
属性名和方法名相同,属性会覆盖方法

class C:
    def x(self):
        print('X-man!!!')

c=C()
c.x()
c.x=1#属性名和方法名相同,属性会覆盖方法
c.x()#前一步的int属性覆盖方法

#什么是绑定
在这里插入图片描述
类属性

class CC:
    def SetXY(self,x,y):
        self.x=x
        self.y=y
    def printXY(self):
        print(self.x,self.y)
dd=CC()#CC是类,dd是CC的实例对象
dd.SetXY(4,5)
dd.printXY()

del CC#删除类,实例对象任然可以调用,因为他们依然是存放在内存中的
dd.printXY()

在这里插入图片描述

发布了19 篇原创文章 · 获赞 7 · 访问量 889

猜你喜欢

转载自blog.csdn.net/Pyouthon/article/details/104330964