为何此处用Point.string(self)格式化输出为空
class Point(object): # 自定义Point类的构造(初始化)方法 def __init__(self, x, y): self.x = x self.y = y # 自定义Point类对象的格式化输出函数(string()) def string(self): print('{{{0}:{1},{2}:{3}}}'.format('X',self.x,'Y',self.y)) class Circle(Point): # 自定义Circle类的构造(初始化)方法 def __init__(self, x, y, radius): Point.__init__(self,x, y) self.radius = radius # 自定义Circle类对象的格式化输出函数(string()) def string(self): print('该图形初始化点为:{{{0}:{1},{2}:{3}}};半径为{4}'.format('X',self.x,'Y',self.y, self.radius)) class Size(object): # 自定义Size类的构造(初始化)方法 def __init__(self, width, height): self.width = width self.height = height # 自定义Size类对象的格式化输出函数(string()) def string(self): print('{{{0}:{1},{2}:{3}}}'.format('Width',self.width,'Height',self.height)) class Rectangle(Point, Size): # 自定义Rectangle类的构造(初始化)方法,并在方法中调用父类的初始化方法以完成初始化 def __init__(self,x,y,width,height): Point.__init__(self,x,y) Size.__init__(self,width,height) # 自定义Rectangle类对象的格式化输出函数(string()) def string(self): print('该图形初始化点为:{0};长宽分别为:{1}'.format(Point.string(self), Size.string(self))) if __name__ == "__main__": # 实例化Circle对象,圆心为(5,5),半径为8 c = Circle(5,5,8) c.string() # 实例化Rectangle对象,顶点位置(15,15),长和宽分别为15和15 r1 = Rectangle(15,15,15,15) r1.string() # 实例化Rectangle对象,顶点位置(40,30),长和宽分别为11和14 r2 = Rectangle(40,30,11,14) r2.string()
运行结果如下:
值都有正常传入,但在format输出时则为None
6
收起
正在回答 回答被采纳积分+1
1回答
1.Python零基础入门
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星