day21 作业

1. 定义MySQL类

'''
1.对象有id、host、port三个属性
      
2.定义工具create_id,在实例化时为每个对象随机生成id,保证id唯一
      
3.提供两种实例化方式,方式一:用户传入host和port 方式二:从配置文件中读取host和port进行实例化

4.为对象定制方法,save和get_obj_by_id,save能自动将对象序列化到文件中,文件路径为配置文件中DB_PATH,文件名为id号,保存之前验证对象是否已经存在,若存在则抛出异常,;get_obj_by_id方法用来从文件中反序列化出对象
'''

2. 定义一个类:圆形,该类有半径,周长,面积等属性,将半径隐藏起来,将周长与面积开放

class circle:

    def __init__(self,radius):
        self.__radius = radius


    def perimeter(self):
        self.perimeter = self.__radius * 2
        print(f'直径为{self.perimeter}')
        return self.perimeter


    def area(self):
        self.area = 3.1415926*self.__radius*self.__radius
        print(f'面积为{self.area}')
        return self.area


c5 = circle(5)
c_p = c5.perimeter()
c_a = c5.area()



'''
直径为10
面积为78.539815
'''

3. 使用abc模块定义一个phone抽象类 并编写一个具体的实现类

import abc

class Phone(metaclass=abc.ABCMeta):

    @abc.abstractmethod
    def take_picture(self):
        pass

    @abc.abstractmethod
    def surf_internet(self):
        pass


class iphone(Phone):

    def take_picture(self):
        print('take_picture')

    def surf_internet(self):
        print('surf_internet')




class nokia(Phone):

    def take_picture(self):
        print('take_picture')

    def surf_internet(self):
        print('surf_internet')

iphone11 = iphone()
iphone11.surf_internet()


'''
surf_internet
'''

上一篇:android-使用imread OpenCV读取图像时出错


下一篇:c-使用base64编码CV_32FC1 Mat数据