本文詳細(xì)羅列歸納了Python常見(jiàn)數(shù)據(jù)結(jié)構(gòu),并附以實(shí)例加以說(shuō)明,相信對(duì)讀者有一定的參考借鑒價(jià)值。總體而言Python中常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)可以統(tǒng)稱為容器(container)。而序列(如列表和元組)、映射(如字典)以及集合(set)是三類主要的容器。一、序列(列表、元組和字符串)序列中的每個(gè)元素都有自己的編號(hào)。Python中有6種內(nèi)建的序列。其中列表和元組是最常見(jiàn)的類型。其他包括字符串、Unicode字符串、buffer對(duì)象和xrange對(duì)象。下面重點(diǎn)介紹下列表
系統(tǒng) 2019-09-27 17:38:35 1634
1、安裝virtulenv、virtulenvwrapper包pipinstallvirtualenvvirtualenvwrapper2、virtualenvwrapper是virtualenv的擴(kuò)展工具,可以方便的創(chuàng)建、刪除、復(fù)制、切換不同的虛擬環(huán)境。3、設(shè)置環(huán)境變量,把下面兩行添加到~/.bash_profile里exportWORKON_HOME=/software/venvsource/usr/local/bin/virtualenvwrappe
系統(tǒng) 2019-09-27 17:38:34 1634
myPhoneBook2.py#!/usr/bin/python#-*-coding:utf-8-*-importreclassPhoneBook(object):'''這是一個(gè)電話簿腳本。該腳本能夠?qū)崿F(xiàn)AddContact:添加聯(lián)系人信息ShowContact:查找姓名顯示聯(lián)系人SaveContacts:存儲(chǔ)聯(lián)系人到TXT文檔(存儲(chǔ)格式――姓名:號(hào)碼/號(hào)碼)LoadContacts:從txt文檔中載入聯(lián)系人'''def__init__(self):sel
系統(tǒng) 2019-09-27 17:38:30 1634
裝飾器(decorator)是一種高級(jí)Python語(yǔ)法。裝飾器可以對(duì)一個(gè)函數(shù)、方法或者類進(jìn)行加工。在Python中,我們有多種方法對(duì)函數(shù)和類進(jìn)行加工,比如在Python閉包中,我們見(jiàn)到函數(shù)對(duì)象作為某一個(gè)函數(shù)的返回結(jié)果。相對(duì)于其它方式,裝飾器語(yǔ)法簡(jiǎn)單,代碼可讀性高。因此,裝飾器在Python項(xiàng)目中有廣泛的應(yīng)用。這是在Python學(xué)習(xí)小組上介紹的內(nèi)容,現(xiàn)學(xué)現(xiàn)賣、多練習(xí)是好的學(xué)習(xí)方式。第一步:最簡(jiǎn)單的函數(shù),準(zhǔn)備附加額外功能#-*-coding:gbk-*-'''
系統(tǒng) 2019-09-27 17:38:30 1634
Python是用于編碼圖形界面的極佳語(yǔ)言。由于可以迅速地編寫(xiě)工作代碼并且不需要費(fèi)時(shí)的編譯周期,所以可以立即使界面啟動(dòng)和運(yùn)行起來(lái),并且不久便可使用這些界面。將這一點(diǎn)與Python易于鏈接本機(jī)庫(kù)的能力結(jié)合起來(lái),就可以形成一個(gè)出色的環(huán)境。gnome-python是為Python封裝GNOME及其相關(guān)庫(kù)的軟件包。這使您能夠用Python編寫(xiě)外觀與核心GNOME應(yīng)用程序完全相同的應(yīng)用程序,而所花的時(shí)間只是用C編寫(xiě)該應(yīng)用程序所花的一部分。然而,不用C進(jìn)行編程會(huì)有一個(gè)缺
系統(tǒng) 2019-09-27 17:38:29 1634
如果直接對(duì)大文件對(duì)象調(diào)用read()方法,會(huì)導(dǎo)致不可預(yù)測(cè)的內(nèi)存占用。好的方法是利用固定長(zhǎng)度的緩沖區(qū)來(lái)不斷讀取文件內(nèi)容。即通過(guò)yield。在用Python讀一個(gè)兩個(gè)多G的txt文本時(shí),天真的直接用readlines方法,結(jié)果一運(yùn)行內(nèi)存就崩了。還好同事點(diǎn)撥了下,用yield方法,測(cè)試了下果然毫無(wú)壓力。咎其原因,原來(lái)是readlines是把文本內(nèi)容全部放于內(nèi)存中,而yield則是類似于生成器。代碼如下:defopen_txt(file_name):withope
系統(tǒng) 2019-09-27 17:38:24 1634
我們將要來(lái)學(xué)習(xí)python的重要概念迭代和迭代器,通過(guò)簡(jiǎn)單實(shí)用的例子如列表迭代器和xrange。可迭代一個(gè)對(duì)象,物理或者虛擬存儲(chǔ)的序列。list,tuple,strins,dicttionary,set以及生成器對(duì)象都是可迭代的,整型數(shù)是不可迭代的。如果你不確定哪個(gè)可迭代哪個(gè)不可以,你需要用python內(nèi)建的iter()來(lái)幫忙。>>>iter([1,2,3])>>>iter({1:2,2:4})>>>iter(1234)Traceback(mostrece
系統(tǒng) 2019-09-27 17:38:24 1634
利用Python寫(xiě)了簡(jiǎn)單測(cè)試主機(jī)是否存活腳本,此腳本不適于線上使用,因?yàn)榫W(wǎng)絡(luò)延遲、丟包現(xiàn)象會(huì)造成誤報(bào)郵件,那么后續(xù)會(huì)更新判斷三次ping不通后再發(fā)報(bào)警郵件,并啟用多線程處理。#!/usr/bin/envpython#coding:UTF-8importtimeimportpexpectimportsmtplibfromemail.mime.textimportMIMETextmail_host="smtp.163.com"#定義smtp服務(wù)器mail_to
系統(tǒng) 2019-09-27 17:38:23 1634
這幾天在翻舊代碼時(shí)發(fā)現(xiàn)以前寫(xiě)的注釋部分有很多單詞拼寫(xiě)錯(cuò)誤,這些單詞錯(cuò)得不算離譜,應(yīng)該可以用工具自動(dòng)糾錯(cuò)絕大部分。用Python寫(xiě)個(gè)拼寫(xiě)檢查腳本很容易,如果能很好利用aspell/ispell這些現(xiàn)成的小工具就更簡(jiǎn)單了。要點(diǎn)1、輸入一個(gè)拼寫(xiě)錯(cuò)誤的單詞,調(diào)用aspell-a后得到一些候選正確單詞,然后用距離編輯進(jìn)一步?鷓〕齦?精確的詞。比如運(yùn)行aspell-a,輸入‘hella'后得到如下結(jié)果:hell,Helli,hello,heal,Heall,he'll
系統(tǒng) 2019-09-27 17:38:21 1634
前言最近有人在Twisted郵件列表中提出諸如"為任務(wù)緊急的人提供一份Twisted介紹"的需求。值得提前透露的是,這個(gè)系列并不會(huì)如他們所愿。尤其是介紹Twisted框架和基于Python的異步編程而言,可能短時(shí)間無(wú)法講清楚。因此,如果你時(shí)間緊急,這恐怕不是你想找的資料。我相信如果對(duì)異步編程模型一無(wú)所知,快速的介紹同樣無(wú)法讓你對(duì)其有所理解,至少你得稍微懂點(diǎn)基礎(chǔ)知識(shí)吧。我已經(jīng)用Twisted框架幾年了,因此思考過(guò)我當(dāng)初是怎么學(xué)習(xí)它(學(xué)得很慢)并發(fā)現(xiàn)學(xué)習(xí)它的最
系統(tǒng) 2019-09-27 17:38:20 1634