发布时间:2019-09-25 08:24:51编辑:auto阅读(1782)
python 面向对象编程
看了一下python也可以用面向对象 就试着将java写法 就在python上试了一下 顺便熟悉一下语法 还不错。。。 希望大神指点更简结 灵巧 写法 请留求评论
import pickle import random #author Q237356573 #.........Base class Base_number(): def __init__(self,all,Prime,single): self._all=all self._Prime=Prime self._single=single def Show_all(self): return self._all def Show_Prime(self): return self._Prime def Show_single(self): return self._single #操作对象 class Writ_base_number(): #all 全部 def set_all(self,all): self._all=all def get_all(self): return self._all #素数[] def set_Prime(self,Prime): self._Prime=Prime def get_Prime(self): return self._Prime #质数[] def set_single(self,single): self._single=single def get_single(self): return self._single #Writ_File_catalog文件目录 def set_catalog(self,catalog,wb): self._catalog=open(catalog,wb) def get_catalog(self): return self._catalog def show_catalog(self): #测试 print("存入目录:"+self._catalog.name) #测试 Writ obj 参数protocol是序列化模式,默认值为0,表示以文本的形式序列化。 # protocol的值还可以是1或2,表示以二进制的形式序列化 def Writ_obj_file(self,writobj,catalog): pickle.dump(writobj,catalog,0) #测试 Read obj def Read_obj_file(self): return pickle.load(self._catalog) #计算函数 def for_Three_add(self): obj_name=[] f=Writ_base_number()#实例对象 mark=['A:','B:','C:'] for b in mark: num=random.sample([i for i in range(1,100)],25) #不重复随机数 f.set_all(b+str(num))#存入全部 A=[] B=[] for a in num: if a%2 != 0: A.append(a) #质数 else: B.append(a) #素数 #writ 封装对象 f.set_Prime(B) f.set_single(A) obj_name.append(Base_number(f.get_all(),f.get_Prime(),f.get_single())) return obj_name ''' #mail writ方法 Operation=Writ_base_number() Operation.set_catalog('c:\\file2.pkl','wb') base_obj=Operation.for_Three_add() Operation.Writ_obj_file(base_obj,Operation.get_catalog()) Operation.get_catalog().close() ''' #mailread 读出 R=Writ_base_number() R.set_catalog("c:\\file2.pkl",'rb') obj_list=R.Read_obj_file() R.get_catalog().close() #迭代 for a in obj_list: print("全部数_"+str(a.Show_all())) print("素数"+str(a.Show_single())) print("质数"+str(a.Show_Prime())) print()
上一篇: python开头的coding设置
下一篇: 由 Python2 和 Python3
47760
46269
37152
34655
29246
25906
24778
19878
19441
17933
5730°
6335°
5853°
5903°
7004°
5841°
5860°
6372°
6331°
7695°