標籤:pac 請求 err cal write exit span tab com
1Python的資料結構:1:序列:
列表(可改變)
元祖 (不可改變)2:映射:
字典3:無序:
集合ASCII:八位 Unicode:16位
2Python的函數abs:絕對值match.sqrt:開方
match.ceil:上入
match.floor:下入pow:冪
repr:字串str:字串round:四捨五入help:協助input:輸入raw_input:原始輸入camtch.sqrt:負數開方
3Python的運行
(1)命令列運行程式:Python hello.py
(2)把指令碼像普通程式一樣運行:#!/usr/bin/env python放在程式首行
再運行:hello.py 或者 ./hello.py
模組:一組函數的集合用於程式的擴充(1)import match match.sqrt(25)(2):from match import sqrt sqrt(25)
+號只能連接字串,不能連接字串和數字要先把數字變成字串:三種方式:
str repr ``例:temp=32>>>print "I am chennan"+`temp`I am chennan 32
即可
4字串是不可變split:分割字串strip:去除兩側的空格,不包含內部
5列表:list函數,可改變序列>>>x=[1,2,3,4,5]1:刪除元素: del x[1]2:分區元素: x[2:]=[1,1,1,1]3:追加:元素:append 列表:extend4:插入:insert x.insert(3,‘5‘)5:計數:count6:索引:index7:移除:pop:傳回值 x.pop()8:排序: x.sort()
9:反向:reverse x.reverse ()
6元祖:tuple函數,不可改變序列(4,2,1,2,5,3,7)>>>tuple([1,3,4,5,2])(1,3,4,5,2)
tuple函數可以將列表改成元祖
7字典:索引值對的形式1:x={"chen":"12", "liu":"32", "xu":"42" } 2:>>>item=[("name",chen""),("age","12")] >>> x=dict(item)x={"name":"chen", "age":"12", }
字典的方法:clear:清空
copy:複製 get:訪問 fromkeys:根據給定的鍵建立字典 has_key:判斷是否有鍵 items:將字典轉換成列表 popitem:隨機刪除元素
8集合:由序列構建 無序
set([1,2,3,4,5,6,7])
9函數print語句列印由多個逗號隔開的值import ..... as.....匯入函數並進行局重新命名部exec:執行語句eval:計算運算式pass:什麼也不做del:刪除 判斷語句:if
elif 檢查多個條件陳述式:else if 的簡寫 else
10:模組:模組是程式模組用於定義函數包是模組的集合模組中的標準庫: 1:sys:path:路徑stdin:標準輸入資料流stdout:標準輸出資料流argv:命令列參數exit:退出資訊modules:映射模組名稱到模組載入的字典stderr:標準錯誤流 2:OS:envior:對於環境變數進行映射sep:路徑中的分隔字元pathsep:分割路徑的路徑符linesep:行分隔字元 3:fileinputfilename:名稱close:關閉序列nextfile:下一個 4:timesleep:休眠
time:目前時間astime([tuple]):將時間元祖轉化成字串mktime(tuple):將時間元祖轉化成本地時間
localtime([sec]):將秒數轉化成時間元祖 5: random:隨機函數 6:re:正則式matchcompilesearchsplitfindallsubescape 7:shelve:建立持久性映射,同時將映射的美容儲存在給定檔案名稱的資料庫。
網路編程:socket編程:通訊端主要是兩個進程之間的資訊通道,程式可能分布在不同的電腦上,通過通訊端互相接收資訊。
一個小型伺服器:import sockets=socket.socket() host=socket.gethostname()port=1234s.bind((host,port)) s.listen(5)while true: c.addr=
s.accept() print "I am chen nan",addr c.
send("hello boy") c.
close()
一個小型客戶機:import sockets=socket.socket() host=socket.gethostname()port=1234s.connect((host,port))print s.recvz(1024)
urllib和urllib2模組1:開啟遠程檔案from urllib import urlopenwebpage=
urlopen("http://www.baidu.com")2:擷取遠程檔案urlretrieve("http://www.baidu.com","C\chennan.xml")
Socketserver架構:同步網路伺服器基類:很容易編寫伺服器,可以用分叉和線程來處理混入類。包含四個基類:1:TCPServer2:UDPServer3:UnixStreamServer4:UnixDatagramServer
編寫一個socketserver伺服器程式
大部分代碼會在請求處理常式中:requesthandler
如果使用的是流,可以使用StreamRequestHandlerself.rfile用於讀取self.wfile用於寫入 from socketserver import TCPServer,
StreamRequestHandler
class Handler(StreamRequestHandler) def handle(self) addr=self.request.getpeername(0 print "I am chennan",addr self.wfile.write("Hello boy") server=TCPServer(("",1234),Handler)server.server_forver()
SQLite資料庫
先需要下載PySQLite的Windows版和SQLiteimport sqlite3conn=sqlite3.connect("somedatabase.db")curs=conn.cursor() //獲得遊標conn.cmmmit()//提交conn.close()//關閉
遊標cursor():通過遊標執行sql查詢並檢驗結果結果可以一個一個獲得,也可以很多個一起獲得。
Python和全球資訊網
urllib和urlopen和reRegex抓取網頁Beautiful Soup是個小模組用來解析和檢查看到的那些不規範的HTMLCGI:通用閘道介面,它是
網路伺服器可以將查詢結果(
一般是web表單)傳遞到專門的程式,比如
Python程式,並在網頁上顯示結果的標準機制。
cgi模組和cgitab模組對於編寫CGI腳步有用
mod_python:處理常式架構讓在Python中編寫Apache架構變為可能有三個標準處理常式1:CGI處理常式2:PSP處理常式3: 發布處理常式 Web應用程式架構:Django架構
Python學習筆記總結