每日一练——Python基础(六)

  • def func(*args):  统计方法、函数、Animal类对象的个数。

class Animal:
    sum=0
    def __init__(self,sex):
        self.sex=sex
        Animal.sum=Animal.sum+1

    def func(*args):
        print('类对象的个数为:',Animal.sum)

animal1=Animal('公')
animal2=Animal('母')
animal1.func()

  • 类的创建:比较圆之间的面积

class Circle:
    def __init__(self,radius=0,area=0):
        self.__radius=radius
        self.area=area
    def SetRadius(self,r):
        self.__radius=r
    def Area(self):
        self.area=3.14 *self.__radius*self.__radius
        return self.area
    def __str__(self):
        return '圆的面积为:'+str(self.area)
    def __gt__(self, other):
        return self.area > other.area
if __name__=="__main__":
    circle1=Circle()
    circle2=Circle()
    circle1.SetRadius(eval(input("第一个圆的半径为:")))
    a=circle1.Area()
    print("第一个圆的面积为",a)
    circle2.SetRadius(eval(input("第二个圆的半径为:")))
    b=circle2.Area()
    print("第二个圆的面积为:",b)
    print('圆2的面积比圆1大:',circle2>circle1)

  • 实验题目:创建子类

    如下现有一个保险政策类InsurancePolicy。

    class InsurancePolicy:

      def __init__(self, price_of_item):

        self.price_of_insured_item = price_of_item

    1)创建子类:交通险VehicleInsurance,构造方法中通过super将保额存储到实例变量中,同时用实例变量vehicle_Name存储交通工具的名字。创建一个实例方法get_rate(),返回回报率:保额*0.001

    2)创建子类:家庭险HomeInsurance。构造方法中通过super将保额存储到实例变量中,同时用实例变量member_number存储家庭成员的人数。创建一个实例方法get_rate(),返回回报率:保额*0.00005

class InsurancePolicy:
    def __init__(self,price_of_item):
        self.price_of_insured_item =price_of_item

class VehicleInsurance(InsurancePolicy):
    def __init__(self, vehicle_name):
        self.price_of_item = super().price_of_insured_item
        self.vehicle_name = vehicle_name

    def get_rate(self):
        return self.price_of_item * 0.001

class HomeInsurance(InsurancePolicy):
    def __init__(self, member_number):
        self.price_of_item = super().price_of_insured_item
        self.member_number = member_number

    def get_rate(self):
        return self.price_of_item * 0.00005

猜你喜欢

转载自blog.csdn.net/m0_48788975/article/details/121334379