用类编写主驱动程序

时间:2018-04-01 22:38:15

标签: python python-3.x

我想

  • 使用任何参数创建表面对象
  • 在曲面对象上调用getRect()方法,并将结果矩形保存在变量中。

并打印结果。

    class Rectangle:
        def __init__(self, x, y, h, w):
            self.x = x
           self.y = y
           self.h = h
           self.w = w
       def __str__(self):
           return "(x:)"+str(self.x) + ", y=" + str(self.y) + ", width:" + str(self.w) + ", height:" + str(self.h)

这是Class Surface

    from Rectangle import Rectangle

    class Surface:
        def __init__(self, filename, x, y, h, w):
            self.image = filename
            self.rect = Rectangle(x, y, h, w)
        def getRect(self):
            return self.rect

这是我迄今为止的主要功能

from Rectangle import Rectangle 
from Surface import Surface

def main():

    my_surface = Surface(2,4,2,4)
    my_rectangle = my_surface.getRect()
    print(my_surface.Rectangle)

()

要从类Rectangle中打印__str__而不显式调用__str__函数,我放print(my_surface.Rectangle),但它不会打印任何内容。我应该写什么而不是代码?

1 个答案:

答案 0 :(得分:2)

调用函数main()()本身没有做任何事情。

你也没有给Surface一个文件名,也没有my_surface.Rectangle这样的东西。所以完整的代码应如下所示:

from Rectangle import Rectangle
from Surface import Surface


def main():
    my_surface = Surface("filename", 2, 4, 2, 4)
    my_rectangle = my_surface.getRect()
    print(my_rectangle)


main()