| 
					
				 | 
			
			
				@@ -1,4 +1,5 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import misc_class 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import pickle 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def coin_test(): 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -26,12 +27,63 @@ def bankaccount_test(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # Здесь тоже будет вызван метод __str__, но через str() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     print(str(savings))     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Создает 4 объектов CellPhone и сохраняет из в списке 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def cellphone_test(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    phone_list = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    for _ in range(5): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        phone = misc_class.CellPhone() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        phone_list.append(phone) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    for item in phone_list: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        print(item.get_manufact())         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        print(item.get_model()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        print(item.get_retail_price()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Сериализация/десериализация объектов 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def cellphone_serial(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    FILE_NAME = 'cellphones.dat'     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    file = open(FILE_NAME, 'wb') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    for _ in range(5): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        phone = misc_class.CellPhone() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pickle.dump(phone, file) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    file.close() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    print(f'Данные записаны в {FILE_NAME}') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    file = open(FILE_NAME, 'rb') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    end_of_file = False 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    while not end_of_file: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            phone = pickle.load(file) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            print(f'Производитель: {phone.get_manufact()}') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            print(f'Номер моделы: {phone.get_model()}') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            print(f'Розничная цена: {phone.get_retail_price()}') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            print() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            end_of_file = True 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    file.close() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def main(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # coin_test()     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    bankaccount_test() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # Методы __str__ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # bankaccount_test() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # Создание списка объектов CellPhone 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # cellphone_test() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # Сериализация объектов  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # cellphone_serial() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if __name__ == '__main__': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     main() 
			 |