• day21作业


    import hashlib
    import time
    import pickle
    import os
    import setting
    class MySQL:
        def __init__(self, host, port):
            self.__host = host
            self.__port = port
            self.__id = self.create_id()
        @staticmethod
        def create_id():
            m = hashlib.md5()
            m.update(str(time.clock()).encode('utf-8'))
            return m.hexdigest()
        @classmethod
        def creae_mysql(cla):
            return cla(setting.HOST, setting.PORT)
        def save(self):
            path = os.path.join(setting.DB_PATH, '%s.pk' % self.__id)
            if os.path.exists(path):
                raise ImportError('该id已存在')
            else:
                with open(path, 'wb')as f:
                    pickle.dump(self, f)
        def get_obj_by_id(self):
            path = os.path.join(setting.DB_PATH, '%s.pk' % self.__id)
            if not os.path.exists(path):
                raise ImportError('该id不存在')
                # print('该id不存在')
            else:
                with open(path, 'rb')as f:
                    return pickle.load(f)
    m1 = MySQL('h1', 'p1')
    m2 = MySQL.creae_mysql()
    m2.save()
    print(m2.get_obj_by_id().__dict__)
    m1.save()
    m1.get_obj_by_id()
    
    class Circle:
        def __init__(self,radius):
            self.__radius=radius
        @property
        def perimeter(self):
            return 2*(3.14)*self.__radius
        @property
        def area(self):
            return (3.14)*(self.__radius**2)
    
    c1=Circle(3)
    print(c1.area)
    print(c1.perimeter)
    
    import abc
    
    class Phone(metaclass=abc.ABCMeta):
        @abc.abstractmethod
        def phone_name(self):
            pass
    
        @abc.abstractmethod
        def phone_price(self):
            '子类必须定义写功能'
            pass
    
    class huawei(Phone):
        def phone_name(self):
            print('huaweimate30pro')
    
        def phone_price(self):
            print('5000')
    
    
    class xiaomi(Phone):
        def phone_name(self):
            print('xiaomi9pro')
        def phone_price(self):
            print('4000')
    
    i1 = huawei()
    h1 = xiaomi()
    
    i1.phone_name()
    h1.phone_name()
    i1.phone_price()
    h1.phone_price()
    
  • 相关阅读:
    Spring三大器
    SpringBoot启动过程
    linux常用命令
    Controller当中的参数与返回值
    Spring加载context的几种方法
    Spring基础(imooc)
    SpringMVC框架学习
    Spring MVC(imooc)
    springAOP基础
    《别傻了,你的中年危机真不是因为穷》
  • 原文地址:https://www.cnblogs.com/xwjhyy/p/11655205.html
Copyright © 2020-2023  润新知