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
'''
标签:surf,day21,self,作业,radius,internet,id,def 来源: https://www.cnblogs.com/bowendown/p/11656819.html