from math import pi
class Circle: 1.创建一个通用的圆面积,周长表达式
def __init__(self,r):
self.r = r
def area(self):
return self.r*self.r*pi
def perimeter(self):
return self.r*2*pi
class Ring: 2.计算环类周长和面积,引用1中定义的Circle
def __init__(self,out_r,inner_r):
c1 = Circle(out_r) 将外环形半径传给Circle
c2 = Circle(inner_r) 将内环.....
self.out_c = c1 将1(Circle)中的对象用作2中的属性
self.inner_c = c2 同理.......
def area(self):
return self.out_c.area() - self.inner_c.area() 调用1公式直接计算
def perimeter(self):
return self.out_c.perimeter() + self.inner_c.perimeter()
r1 = Ring(20,10) 将大小半径传给2(Ring)
print(r1.area())
print(r1.perimeter())
# menu = {'key':"value","k":['v']}
# import json
# # 把其他的数据类型 -序列化(dumps)-> 字符串
# # 字符串 -反序列化(loads)-> 把其他的数据类型
# ret = json.dumps(menu) # 把其他的数据类型 -序列化(dumps)-> 字符串
# print(ret) # json格式的字符串
# print(menu) # dict
# with open('file1','w',encoding='utf-8') as f:
# f.write(ret)
# with open('file1','r',encoding='utf-8') as f:
# dic = f.read()
# print(dic)
# diccc = json.loads(dic) # 字符串 -反序列化(loads)-> 把其他的数据类型
# print(diccc['k'])
优缺点:
优: 所有的语言都通用
缺: 能支持的数据类型少 :dict list str 数字
pickle的优缺点
支持python中的几乎所有数据类型
只支持在python程序之间交换数据