myPhoneBook2.py#!/usr/bin/python#-*-coding:utf-8-*-importreclassPhoneBook(object):'''這是一個電話簿腳本。該腳本能夠?qū)崿F(xiàn)AddContact:添加聯(lián)系人信息ShowContact:查找姓名顯示聯(lián)系人SaveContacts:存儲聯(lián)系人到TXT文檔(存儲格式――姓名:號碼/號碼)LoadContacts:從txt文檔中載入聯(lián)系人'''def__init__(self):sel
系統(tǒng) 2019-09-27 17:38:30 1634
裝飾器(decorator)是一種高級Python語法。裝飾器可以對一個函數(shù)、方法或者類進行加工。在Python中,我們有多種方法對函數(shù)和類進行加工,比如在Python閉包中,我們見到函數(shù)對象作為某一個函數(shù)的返回結(jié)果。相對于其它方式,裝飾器語法簡單,代碼可讀性高。因此,裝飾器在Python項目中有廣泛的應(yīng)用。這是在Python學習小組上介紹的內(nèi)容,現(xiàn)學現(xiàn)賣、多練習是好的學習方式。第一步:最簡單的函數(shù),準備附加額外功能#-*-coding:gbk-*-'''
系統(tǒng) 2019-09-27 17:38:30 1634
Python是用于編碼圖形界面的極佳語言。由于可以迅速地編寫工作代碼并且不需要費時的編譯周期,所以可以立即使界面啟動和運行起來,并且不久便可使用這些界面。將這一點與Python易于鏈接本機庫的能力結(jié)合起來,就可以形成一個出色的環(huán)境。gnome-python是為Python封裝GNOME及其相關(guān)庫的軟件包。這使您能夠用Python編寫外觀與核心GNOME應(yīng)用程序完全相同的應(yīng)用程序,而所花的時間只是用C編寫該應(yīng)用程序所花的一部分。然而,不用C進行編程會有一個缺
系統(tǒng) 2019-09-27 17:38:29 1634
如果直接對大文件對象調(diào)用read()方法,會導(dǎo)致不可預(yù)測的內(nèi)存占用。好的方法是利用固定長度的緩沖區(qū)來不斷讀取文件內(nèi)容。即通過yield。在用Python讀一個兩個多G的txt文本時,天真的直接用readlines方法,結(jié)果一運行內(nèi)存就崩了。還好同事點撥了下,用yield方法,測試了下果然毫無壓力。咎其原因,原來是readlines是把文本內(nèi)容全部放于內(nèi)存中,而yield則是類似于生成器。代碼如下:defopen_txt(file_name):withope
系統(tǒng) 2019-09-27 17:38:24 1634
我們將要來學習python的重要概念迭代和迭代器,通過簡單實用的例子如列表迭代器和xrange。可迭代一個對象,物理或者虛擬存儲的序列。list,tuple,strins,dicttionary,set以及生成器對象都是可迭代的,整型數(shù)是不可迭代的。如果你不確定哪個可迭代哪個不可以,你需要用python內(nèi)建的iter()來幫忙。>>>iter([1,2,3])>>>iter({1:2,2:4})>>>iter(1234)Traceback(mostrece
系統(tǒng) 2019-09-27 17:38:24 1634
這幾天在翻舊代碼時發(fā)現(xiàn)以前寫的注釋部分有很多單詞拼寫錯誤,這些單詞錯得不算離譜,應(yīng)該可以用工具自動糾錯絕大部分。用Python寫個拼寫檢查腳本很容易,如果能很好利用aspell/ispell這些現(xiàn)成的小工具就更簡單了。要點1、輸入一個拼寫錯誤的單詞,調(diào)用aspell-a后得到一些候選正確單詞,然后用距離編輯進一步?鷓〕齦?精確的詞。比如運行aspell-a,輸入‘hella'后得到如下結(jié)果:hell,Helli,hello,heal,Heall,he'll
系統(tǒng) 2019-09-27 17:38:21 1634
前言最近有人在Twisted郵件列表中提出諸如"為任務(wù)緊急的人提供一份Twisted介紹"的需求。值得提前透露的是,這個系列并不會如他們所愿。尤其是介紹Twisted框架和基于Python的異步編程而言,可能短時間無法講清楚。因此,如果你時間緊急,這恐怕不是你想找的資料。我相信如果對異步編程模型一無所知,快速的介紹同樣無法讓你對其有所理解,至少你得稍微懂點基礎(chǔ)知識吧。我已經(jīng)用Twisted框架幾年了,因此思考過我當初是怎么學習它(學得很慢)并發(fā)現(xiàn)學習它的最
系統(tǒng) 2019-09-27 17:38:20 1634
下表列出了所有Python語言支持的算術(shù)運算符。假設(shè)變量a持有10和變量b持有20,則:例子:試試下面的例子就明白了所有的Python編程語言提供了算術(shù)運算符:#!/usr/bin/pythona=21b=10c=0c=a+bprint"Line1-Valueofcis",cc=a-bprint"Line2-Valueofcis",cc=a*bprint"Line3-Valueofcis",cc=a/bprint"Line4-Valueofcis",cc=
系統(tǒng) 2019-09-27 17:38:13 1634
前言最近在維護項目的python項目代碼,項目使用了python的日志模塊logging,設(shè)定了保存的日志數(shù)目,不過沒有生效,還要通過contab定時清理數(shù)據(jù)。分析項目使用了logging的TimedRotatingFileHandler:#!/user/bin/envpython#-*-coding:utf-8-*-importloggingfromlogging.handlersimportTimedRotatingFileHandlerlog=log
系統(tǒng) 2019-09-27 17:38:11 1634
列表有自己的sort方法,其對列表進行原址排序,既然是原址排序,那顯然元組不可能擁有這種方法,因為元組是不可修改的。排序,數(shù)字、字符串按照ASCII,中文按照unicode從小到大排序x=[4,6,2,1,7,9]x.sort()print(x)#[1,2,4,6,7,9]如果需要一個排序好的副本,同時保持原有列表不變,怎么實現(xiàn)呢?x=[4,6,2,1,7,9]y=x[:]y.sort()print(y)#[1,2,4,6,7,9]print(x)#[4,
系統(tǒng) 2019-09-27 17:38:09 1634