本例是python基礎示例。涉及python基礎,包括語法、字典型資料結構、類、引入庫、pickle實現的儲存器、異常處理等。
示例是乙個**本。可以對**本進行增加、刪除、修改、獲取列表和獲取單人的。
python中,pickle和cpickle都可以完成儲存器的任務,不過cpickle是c語言所寫,據稱效能高於pickle1000倍
python中的pickle是把乙個物件存入檔案中。作為完全物件導向的語言,在宣告/初始化乙個變數的時候,比如字典,也就是關聯陣列,python其實是在例項化乙個字典物件。那麼pickle就可以把這個字典物件存入乙個檔案,讀出來的時候不但這個字典是完整的資料,而且可以繼續使用這個字典物件的方法。
python是用縮進來時別語句塊的。因為我是在vim下寫好複製出來的,所以在部落格看到的可能縮排會有問題。#引入pickle庫。cpickle比pickle快1000倍
import cpickle as pickle
#import pickle as pickle
#**本類
class address:
#初始化
def __init__(self):
#把資料存到那個檔案裡
self.filename = 'list.data'
f = file(self.filename)
#如果檔案是新建的或者是空內容的,則初始化為乙個空的字典(關聯陣列)
try:
self.lists = pickle.load(f)
except:
print 'address book is empty.initializing.....'
self.lists = {}
f.close()
#新增聯絡人
def add(self, name, age, mobile, mail):
newuser =
self.lists[name] = newuser
#刪除聯絡人
def delete(self, name):
if name in self.lists:
del self.lists[name]
print 'delete ', name
else:
print 'no exists ', name
#獲取列表
def getlist(self):
print 'address book list:'
print self.lists
#獲取指定姓名的聯絡人
def getone(self, name):
if name in self.lists:
print self.lists[name]
else:
print 'not exists:', name
#修改聯絡人
def edit(self, name, key, value):
self.lists[name][key] = value
#類執行結束,執行特殊方法__del__,也就是析構函式
def __del__(self):
f = file(self.filename, 'w')
pickle.dump(self.lists, f)
f.close()
#初始化**本類
obj = address()
#新增乙個聯絡人
obj.add('lane', 23, 18500000000, '[email protected]')
#獲取所有聯絡人的列表
obj.getlist()
#獲取lane這個人的****
obj.getone('lane')
#獲取xiaoming這個人的****
obj.getone('xiaoming')
//修改lane這個人的年齡為24
obj.edit('lane', 'age', '24')
iPhone讀電話本
abaddressbookref addressbook abaddressbookcreate cfarrayref allpeople abaddressbookcopyarrayofallpeople addressbook cfindex npeople abaddressbookgetpe...
電話本再實現
標頭檔案模組 define crt secure no warnings 1 實現乙個通訊錄 通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括 姓名 性別 年齡 住址 ifndef contact h define contact h include include define name m...
python實現增刪改查電話本程式筆記
import json class person definit self,name,tel self.name name self.tel tel r open notebook.json rb d json.load while true action input 請輸入你需要的操作,增加 刪除...