python程式例項電話本 Python示例

2021-10-10 03:49:41 字數 1970 閱讀 1556

本例是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 請輸入你需要的操作,增加 刪除...