为什么会报KeyError: 'X'错误
来源:2-6 编程练习
123HFX
2020-01-25 00:12:41
class Point(object): # 自定义Point类的构造(初始化)方法 def __init__(self, x, y): self.x = x self.y = y # 自定义Point类对象的格式化输出函数(string()) def string(self): print("{X:{0},Y:{1}}".format(self.x, self.y)) class Circle(Point): # 自定义Circle类的构造(初始化)方法 def __init__(self, x, y, radius): # Point.__init__(self, x, y) super(Circle, self).__init__(x,y) self.radius = radius # 自定义Circle类对象的格式化输出函数(string()) def string(self): print("该图形初始化点为:{X: {0},Y: {1}};{半径为: {2}}".format(self.x, self.y, self.radius)) # print("{0},{1}".format(self.x,self.y)) class Size(object): # 自定义Size类的构造(初始化)方法 def __init__(self, width, height): self.width = width self.height = height # 自定义Size类对象的格式化输出函数(string()) def string(self): print("该图形初始化点为:{Width:{0},Height:{1}}".format(self.width, self.height)) class Rectangle(Point, Size): # 自定义Rectangle类的构造(初始化)方法,并在方法中调用父类的初始化方法以完成初始化 def __init__(self, x, y, width, height): # Point.__init__(self, x, y) super(Rectangle, self).__init__(x,y) # Size.__init__(self, width, height) super(Rectangle,self).__init__(width,height) # 自定义Rectangle类对象的格式化输出函数(string()) def string(self): print("该图形初始化点为:{X:{0},Y:{1}};长度分别为:{Width:{2},Height:{3}}".format(self.x, self.y, self.width, self.height)) if __name__ == "__main__": # 实例化Circle对象,圆心为(5,5),半径为8 circle = Circle(5, 5, 8) circle.string() # 实例化Rectangle对象,顶点位置(15,15),长和宽分别为15和15 rect1 = Rectangle(15, 15, 15, 15) rect1.string() # 实例化Rectangle对象,顶点位置(40,30),长和宽分别为11和14 rect2 = Rectangle(40, 30, 11, 14) rect2.string()
1回答
慕虎4621838
2020-01-26
print("该图形初始化点为:{X: {0},Y: {1}};{半径为: {2}}".format(self.x, self.y, self.radius))
在使用format函数的时候 如果前面的括号内容中有大括号,需要写两个才能够表示它自己的意思
以下就是
print("该图形初始化点为:{{X: {0},Y: {1}}};{{半径为: {2}}}".format(self.x, self.y, self.radius))
相似问题