Python-面向对象

类,对象,列表

用Python写一个用类创建房子和床,把床存到房子里,报出一共放置了多少张床。
1.在下面代码中“beds”类下的“abed”方法中,“while”循环下需要写一个调用父类的语句,当然还要在“beds”类的括号内写入“house”,意思是继承自“house”。

super().__ init __()

注:在这里强调,我写的是调用父类的“init”方法,这后面的名字是按照相对应的调用方法名称去写。

2.“house”类中所写的“str”魔法方法为了打印初始化的“name”和“area”,分别是名字和面积。而且一定要有返回值,否则程序会打印“None”.
这里我所写的房名是固定值,也可以在创建实例对象的时候传入一个值。

class house():
    def __init__(self):
        self.name = "绿野别墅"
        self.area = 2000
        self.list = []

    def __str__(self):
        msg = "我住在%s,面积:%d"%(self.name,self.area)
        return msg

class beds(house):
    def __init__(self):
        self.name = "海斯创品"
        self.size = 0

    def abed(self):
        a = 0
        while True:
            a+=1
            super().__init__()
            #print("-------------1------------")
            self.size += 10
            
            self.list.append(self.size)#保存床的大小到列表
            if self.size >= self.area:#如果床的大小,大于房子的面积打印床位已满
                print("床位已满,总共放置了%d张床"%a)
                break

lyxz = house()
#print(lyxz.name)
#print(lyxz.area)
print(lyxz)
hscp = beds()
hscp.abed()

for i in hscp.list:
    print("总面积是:%d"%i)

下面是最终执行的结果!

我住在绿野别墅,面积:2000

床位已满,总共放置了200张床

总面积是:2000

日常小练习,如有错误的地方,烦请关注后发简信告之,Thaks.

    原文作者:托马斯比伯
    原文地址: https://www.jianshu.com/p/3c458b86f02e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞