今天來將前一段時間學習的Python的知識系統地梳理一遍,接下來開始實際的編程實踐了。
一、Python實驗環境搭建
使用Python編程,首先要有一個開發環境,如同C/C++上又VS2008家族一樣,Linux/MacOS上的部署情況這里不再詳述,因為Linux上實在太簡單,有vim有python就可以了,一般都會自帶python;這里重點來講述下Windows下的Python部署,一部分參考的著名的Python入門教程http://learnpythonthehardway.org/book/。具體如下:
1. 下載安裝代碼編輯器,可以使用自帶的IDLE,這里推薦使用更加易用的nodepad++,支持多種程序與腳本語言,語法高亮顯示,自己寫了一個Python腳本,大致情況如下:
2. 配置Windows下的Shell,出于Linux的習慣,大多數程序猿都喜歡敲擊命令行的快感,Windows下當然我們可以使用CMD,但是其實Win7也提供了強大的新的命令Shell,即PowerShell,其語法與Linux高度類似,與IDLE更重要地是可以直接進入文件目錄創建或修改文件。為了可以在PowerShell中使用Python,比如將Python的路徑加入到Windows系統的環境變量PATH中,Win7下【計算機】--【屬性】--【高級系統設置】--【環境變量】,找到PATH變量,以';'分隔,添加自己的Python安裝路徑即可:
然后在【開始】菜單中的【運行】框中輸入‘PowerShell’,點擊運行即可:
Python的開發還可以使用PyScripter,也是一款不錯的Python開發的IDE。
二、Python要點回顧
本部分基于今天重新復習的情況有針對性地梳理各個部分的要點,每部分要點都必須熟練掌握,作為自己使用Python開發的“基石”。
1. 數據結構
任何一門語言的本質都是處理數據,因此數據的存儲和命名是最根本的。Python的變量采用弱類型規范,即定義時不需要指明數據類型,由Python根據定義初始化自動判斷其類型;Python每個語句的結束沒有';',采用縮進格式替代了{}表示語句塊;Python處理字符串更加靈活,尤其是是print語句可以直接跟字符串的拼接和以','分隔的多個字符串(變量),如print "This is a test...", str(Username)
因此Python無需記得int\float\double等數據類型,所做的工作只是定義一個變量賦值即可。另一個類似于數組的重要結構是序列,我們最為常用的是可變的列表,不可變的是元祖,比如字符串。可變的列表要掌握以下操作:
(1)讀取元素:索引(lst[n]),分片(lst[m:n]);
(2)類型轉換:list("Python")
(3)插入元素:分片插入(lst[2:2] = list1),lst.append(),lst.extend(),lst.insert(loc, lst)
(4)刪除元素:del lst[n],lst.pop(),lst.remove()
(5)查找元素:lst.index(),lst.find(),IN操作
對于元祖字符串來說,當然不能修改其值了,但是也有一些基本的操作,如str.lower()、str.strip(),str.replace(dst, src)等。更重要的是要明白深淺復制的區別,即淺復制:c=a[:]\c=copy.copy(a);深復制:c=copy.deepcopy(a);b=a只是同一個對象的多個引用。
列表與元祖傳送門:http://blog.chinaunix.net/uid-26275986-id-4295124.html
深淺復制傳送門:http://blog.chinaunix.net/uid-26275986-id-4297339.html
2. 控制結構與函數
Python也具有三種控制結構,順序結構、條件結構和循環結構,同C/C++相比比較簡單,語法也類似,不再贅述。函數的使用格式也要熟知,但是由于Python是弱類型的,因此函數返回值類型不需要指明,函數參數類型也不需要說明。
控制結構傳送門:http://blog.chinaunix.net/uid-26275986-id-4299217.html
函數使用傳送門:http://blog.chinaunix.net/uid-26275986-id-4300768.html
3. 文件操作
與文件的交互也是每種語言的重中之重,Python中標準庫已經提供了文件讀寫函數,不需要單獨引入模塊。基本的打開函數有open(),讀寫函數有read()/readline()/readlines()和write()/writelines(),文件使用完畢應當關閉文件f.close(),文件指針操作f.tell()/f.seek(offset, loc),loc的規范是【0:文件頭;1:當前指針位置;2:文件尾】;
文件操作傳送門:http://blog.chinaunix.net/uid-26275986-id-4302764.html
4. 各種模塊
-1. 網絡編程模塊socket
import socket
socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
socket.bind([Host, Port])
socket.listen(5)
socket.accpet() --> Clinet, Client-Address
socket.connect([Host, Port])
send()
read()
close()
SOCKET編程傳送門:http://blog.chinaunix.net/uid-26275986-id-4310238.html
-2. import time
time.time()
time.asctime()
-3. random
import random
random.random()
random.uniform(m, n)
-4. re
import re
通配符:'.'
轉義符:'\'
字符集:[a-z]
子模式和選擇符:p(ython|erl)
子模式的匹配問題
re模塊傳送門:http://blog.chinaunix.net/uid-26275986-id-4311950.html
-5. urllib
import urllib
urllib.urlopen()
urllib.retrieve(src, dst)
閱讀(4442) | 評論(0) | 轉發(2) |