为何此处用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 星