Python教程

python-类编程练习二

本文主要是介绍python-类编程练习二,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# coding:utf-8
# author:我本善良
# create_time:2021/5/31 22:04

class 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-类编程练习二的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!