# Coding:utf-8# author:我本善良# create_time:2021/5/31 22:04class Point(object):# 自定义Point类的构造(初始化)方法 def __init__(self,x,y): self.x = x self.y = y# 自定义Point类对象的格式化输出函数(string()) def string(self): # print('{X:{},y:{}}'.format(self.x,self.y)) return ('{{X:{0},Y:{1}}}'.format(self.x,self.y))class Circle(Point):# 自定义Circle类的构造(初始化)方法 def __init__(self, x, y, z): super().__init__(x, y) self.radius = z #半径为# 自定义Circle类对象的格式化输出函数(string()) def string(self): # print("该图形初始化点为:{X:{0},Y:{1};半径为:{2}}".format(self.x,self.y,self.radius)) #上面会报错:ValueError: unexpected '{' in fIEld name #解决方法: #不是匹配符号的{} 需要双倍写 print("该图形初始化点为:{{X:{},Y:{};半径为:{}}}".format(self.x, self.y, self.radius))class Size(object):# 自定义Size类的构造(初始化)方法 def __init__(self,wIDth,height): self.wIDth = wIDth self.height = height# 自定义Size类对象的格式化输出函数(string()) def string(self): return ('{{WIDth:{},Height:{}}}'.format(self.wIDth,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): r1 = Point.string(self) r2 = Size.string(self) print('该图形初始化点为:{};长宽分别为:{}'.format(r1,r2))if __name__ == "__main__":# 实例化Circle对象,圆心为(5,5),半径为8 cir = Circle(5,5,8) cir.string()# 实例化Rectangle对象,顶点位置(15,15),长和宽分别为15和15 rec = Rectangle(15,15,15,15) rec.string()# 实例化Rectangle对象,顶点位置(40,30),长和宽分别为11和14 r2 = Rectangle(40,30,11,14) r2.string()'''师兄的:class Point(object): def __init__(self, x, y): self.x = x self.y = y def string(self): return ("{{X:{0},Y:{1}}}".format(self.x, self.y))class Circle(Point): def __init__(self, radius, x, y): super(Circle, self).__init__(x, y) self.radius = radius def string(self): print("该图形初始化点为:{{X:{0},Y:{1};半径为:{2}}}".format(self.x, self.y, self.radius))class Size(object): def __init__(self, wIDth, height): self.wIDth = wIDth self.height = height def string(self): return ("{{WIDth:{0}, Height:{1}}}".format(self.wIDth, self.height))class Rectangle(Point, Size): def __init__(self, x, y, wIDth, height): Point.__init__(self, x, y)#继承父类的构造方法 Size.__init__(self, wIDth, height) def string(self): r1 = Point.string(self)#调用父类的string方法,使用一个变量接收函数的值 r2 = Size.string(self) print("该图形初始化点为:{};长宽分别为:{}".format(r1, r2))if __name__ == "__main__": c = Circle(8, 5, 5) c.string() r1 = Rectangle(15, 15, 15, 15) r1.string() r2 = Rectangle(40, 30, 11, 14) r2.string()'''
总结 以上是内存溢出为你收集整理的python-类编程练习二全部内容,希望文章能够帮你解决python-类编程练习二所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)