《簡明Python編程》核心筆記(1~5章)
2014年8月20日 《簡明Python編程》核心筆記? (1~5章)
昨天和今天兩天時(shí)間里,把《簡明Python編程》這一本書學(xué)完了,包括書上的代碼。現(xiàn)把核心筆記記錄下來,以便以后復(fù)習(xí)。
第一章 簡介
Python語言是少有的一種可以稱得上即簡單又功能強(qiáng)大的編程語言。你將驚喜地發(fā)現(xiàn)Python語言是多么地簡單,它注重的是如何解決問題而不是編程語言的語法和結(jié)構(gòu)。
Python的特點(diǎn):
簡單易懂免費(fèi)、開源高層語言:高級語言可移植性:可以移植在許多平臺上。包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2等等;解釋性:Python語言寫的程序不需要編譯成二進(jìn)制代碼。在計(jì)算機(jī)內(nèi)部,Python解釋器把源代碼轉(zhuǎn)換成稱為字節(jié)碼的中間形式,然后再把它翻譯成計(jì)算機(jī)使用的機(jī)器語言并運(yùn)行。面向?qū)ο螅篜ython即支持面向過程的編程也支持面向?qū)ο蟮木幊?。可擴(kuò)展性:如果你需要你的一段關(guān)鍵代碼運(yùn)行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們??汕度胄裕耗憧梢园裀ython嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能。豐富的庫:Python標(biāo)準(zhǔn)庫確實(shí)很龐大。它可以幫助你處理各種工作,包括正則表達(dá)式、文檔生成、單元測試、線程、數(shù)據(jù)庫、網(wǎng)頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統(tǒng)、GUI(圖形用戶界面)、Tk和其他與系統(tǒng)有關(guān)的操作。記住,只要安裝了Python,所有這些功能都是可用的。除了標(biāo)準(zhǔn)庫以外,還有許多其他高質(zhì)量庫,wxPython、Twisted和Python圖像庫等等。第二章 安裝Python
對于Linux系統(tǒng),很可能你已經(jīng)在你的系統(tǒng)里安裝了Python。否則,你可以通過你的發(fā)行版附帶的包管理軟件安裝Python。對于Windows系統(tǒng),安裝Python就是下載安裝程序然后雙擊它,默認(rèn)執(zhí)行,再配置環(huán)境變量。
第三章 最初的步驟
兩種使用Python運(yùn)的程序的方式——使用交互式的帶提示符的解釋器或使用源文件。
1、使用帶提示符的解釋器
對于Windows用戶,只要你正確的設(shè)置了PATH變量,你應(yīng)該可以從命令行啟動解釋器?;蛘吣憧梢赃x擇使用IDLE程序。IDLE是集成開發(fā)環(huán)境的縮寫。點(diǎn)擊開始->程序->Python 2.3->IDLE(Python GUI)。Linux用戶也可以使用IDLE。>>>是你鍵入Python語句的提示符。2、使用源文件
(源文件:codehelloworld.py)
#!/usr/bin/python
# Filename : helloworld.py
print 'Hello World'
請打開shell(Linux終端或者DOS提示符),然后鍵入命令python helloworld.py。如果你使用IDLE,請使用菜單Edit->Run Script或者使用鍵盤快捷方式Ctrl-F5。 輸出:
$ python helloworld.py
Hello World
3、注釋
使用 # 符號標(biāo)示注釋,從 # 開始,直到一行結(jié)束的內(nèi)容都是注釋。4、獲取幫助
運(yùn)行help(object)——這會顯示boject類的幫助。如,help()str,則會顯示str類的幫助信息。str類用于保存你的程序使用的各種文本(字符串)。按q退出幫助。第四章 基本概念
1、字面意義上的常量
一個(gè)字面意義上的常量的例子是如同5、1.23、9.25e-3這樣的數(shù),或者如同'This is a string'、"It'sa string!"這樣的字符串。2、數(shù)
在Python中有4種類型的數(shù)——整數(shù)、長整數(shù)、浮點(diǎn)數(shù)和復(fù)數(shù)。3、字符串
字符串是 字符的序列 。字符串的使用: 使用單引號('):你可以用單引號指示字符串,就如同'Quote me on this'這樣。所有的空白,即空格和表符都照原樣保留。使用雙引號("):與單引號使用相同。使用三引號('''或"""):利用三引號,你可以指示一個(gè)多行的字符串。轉(zhuǎn)義字符:假設(shè)你想要在一個(gè)字符串中包含一個(gè)單引號('),那么你該怎么指示這個(gè)字符串?例如,這字符串是What's your name?。你肯定不會用'What's your name?'來指示它,因?yàn)镻ython會弄不明白這個(gè)字符串從何處開始,何處結(jié)束。所以,你需要指明單引號而不是字符串的結(jié)尾。可以通過 轉(zhuǎn)義符 來完成這個(gè)任務(wù)。你用'來指示單引號——注意這個(gè)反斜杠?,F(xiàn)在你可以把字符串表示為'What's your name?'。注意:在一個(gè)字符串中,行末的單獨(dú)一個(gè)反斜杠表示字符串在下一行繼續(xù),而不是開始一個(gè)新的行。自然字符串:自然字符串通過給字符串加上前綴r或R來指定。例如r"Newlines are indicatedby n"。Unicode字符串:Unicode是書寫國際文本的標(biāo)準(zhǔn)方法。Python允許你處理Unicode文本——你只需要在字符串前加上前綴u或U。例如,u"This is a Unicode string."。字符串是不可變的。按字面意義級連字符串4、注意的地方:
在Python中沒有專門的char數(shù)據(jù)類型。記住,單引號和雙引號字符串是完全相同的——它們沒有在任何方面有不同。一定要用自然字符串處理正則表達(dá)式。否則會需要使用很多的反斜杠。5、變量
6、標(biāo)識符的命名
標(biāo)識符的第一個(gè)字符必須是字母表中的字母(大寫或小寫)或者一個(gè)下劃線(‘ _’)。?標(biāo)識符名稱的其他部分可以由字母(大寫或小寫)、下劃線(‘ _ ’)或數(shù)字(0-9)組成。標(biāo)識符名稱是對大小寫敏感的。例如,myname和myName不是一個(gè)標(biāo)識符。注意前者中的小寫n和后者中的大寫N。7、數(shù)據(jù)類型
????? 變量可以處理不同類型的值,稱為數(shù)據(jù)類型。基本的類型是數(shù)和字符串。
8、對象
????? Python把在程序中用到的任何東西都稱為 對象 。
9、編寫Python程序的標(biāo)準(zhǔn)步驟:
打開你最喜歡的編輯器;輸入例子中的程序代碼;用注釋中給出的文件名把它保存為一個(gè)文件。我按照慣例把所有的Python程序都以擴(kuò)展名.py保存;運(yùn)行解釋器命令python program.py或者使用IDLE運(yùn)行程序。注意一下兩點(diǎn):Python使用變量時(shí)只需要給它們賦一個(gè)值。不需要聲明或定義數(shù)據(jù)類型。如果你想要在一個(gè)物理行中使用多于一個(gè)邏輯行,那么你需要使用分號(;)來特別地標(biāo)明這
種用法。分號表示一個(gè)邏輯行/語句的結(jié)束。
10、縮進(jìn)
?????? 空白在Python中是重要的。事實(shí)上行首的空白是重要的。它稱為縮進(jìn)。在邏輯行首的空白(空格和制表符)用來決定邏輯行的縮進(jìn)層次,從而用來決定語句的分組。不要混合使用制表符和空格來縮進(jìn),因?yàn)檫@在跨越不同的平臺的候,無法正常工作。強(qiáng)烈建議 你在每個(gè)縮進(jìn)層次使用 單個(gè)制表符 或 兩個(gè)或四個(gè)空格 。選擇這三種縮進(jìn)風(fēng)格之一。更加重要的是,選擇一種風(fēng)格,然后一貫地使用它。
第五章 運(yùn)算符與表達(dá)式
???? 運(yùn)算符的功能是完成某件事,它們由如+這樣的符號或者其他特定的關(guān)鍵字表示。運(yùn)算符需要數(shù)據(jù)來進(jìn)行運(yùn)算,這樣的數(shù)據(jù)被稱為 操作數(shù) 。
1、運(yùn)算符
???? 運(yùn)算符包括+、-、*、/、%、**、//、<<、>>、>>=、<<=、&、|、^、~、<、>、==、!=、and、or、not。
2、運(yùn)算符優(yōu)先級:略
3、表達(dá)式 ? ??
(源文件:codeexpression.py)
#!/usr/bin/python
# Filename: expression.py
length = 5
breadth = 2
area = length * breadth
print 'Area is', area
print 'Perimeter is', 2 * (length + breadth)
輸出:
$ python expression.py
Area is 10
Perimeter is 14
?????? 注意:Python如何打印“漂亮的”輸出。盡管我們沒有在'Area is'和變量area之間指定空格,Python自動在那里放了一個(gè)空格,這樣我們就可以得到一個(gè)清晰漂亮的輸出,而程序也變得更加易讀。