Python核心編程第二版(中文).pdf 目錄整理


轉:https://www.cnblogs.com/yufeihlf/p/5709832.html

python核心編程目錄

Chapter1:歡迎來到python世界!-頁碼:7

1.1什么是python

1.2起源  :羅薩姆1989底創建python

1.3特點

1.3.1高級

1.3.2面向對象

1.3.3可升級

1.3.4可擴展

1.3.5可移植性:python使用C寫的。

1.3.6易學

1.3.7易讀

1.3.8易維護

1.3.9健壯性

1.3.10高效的快速原型開發工具

1.3.11內存管理器 :內存管理由python解釋器負責,開發僅僅致力於開發計划中的應用程序。

1.3.12解釋性和(字節)編譯性:無需編譯,當執行py文件,會生成.pyc或.pyo文件

1.4下載和安裝python

1.5運行python

1.5.1命令行的交互式解釋器

1.5.2從命令行啟動腳本

1.5.3集成開發環境

1.5.4其他的集成開發環境和執行環境

1.6python文檔

1.7比較python(python與其他語言的比較)

 

Chapter2:Python起步-頁碼:31

注:語句和表達式的區別

語句是使用關鍵詞來組成命令,告訴解釋器要做什么。

表達式沒有關鍵詞,可以使算術表達式,也可以是使用括號調用的函數。

2.1程序輸出,print語句及“Hello World” :print是關鍵字

Print ‘%s is number %d!’%(‘python’,1) #print與字符串格式運算符(%)結合使用。

2.2程序輸入和raw_input()內建函數  :raw_input()是內建函數

2.3注釋#

2.4運算符 :算數運算符+ - * / // % ** 比較運算符,邏輯運算符

2.5變量和賦值

2.6數字:int,long,bool,float,complex(復數)

2.7字符串

2.8列表[]和元組()

2.9字典{}

2.10代碼塊及縮進對齊

2.11 if語句

2.12 while循環

2.13 for循環和range()內建函數:  enumerate()內建函數可循環索引和元素

2.14列表解析:可使用for循環將所有值放在一個列表里。

2.15文件和內建函數open(),file()

2.16錯誤和異常

2.17函數:python中的函數使用小括號()調用。

2.18類

2.19模塊:文件名字,不包括.py

2.20實用的函數:dir,help,len,open,raw_input,str,type

 

Chapter3:Python基礎-頁碼:59

3.1語句和語法

3.1.1注釋(#)

3.1.2繼續(\)

3.1.3多個語句構成代碼組(:)

3.1.4代碼組由不同的縮進分隔

3.1.5同一行書寫多個語句(;)

3.1.6模塊

3.2變量賦值:= 鏈式賦值,多元賦值

3.3標識符

3.3.1合法的python標識符:大小寫敏感

3.3.2關鍵字:import keyword; print keyword.kwlist 關鍵字加對象=語句 直接使用

3.3.3內建:dir(__builtins__) 直接使用

3.3.4專用下划線標識符_xxx:私有的 __xxx__:系統定義的名字 __xxx:類中私有的變量名

3.4基本風格指南

3.4.1模塊結構和布局

如果模塊被導入,__name__的值為模塊名字

如果模塊是被直接執行,__name__的值為__main__

3.4.2在主程序中書寫測試代碼

3.5內存管理

3.5.1變量定義

3.5.2動態類型

3.5.3內存分配

3.5.4引用計數

3.5.5垃圾收集

3.6第一個Python程序

3.7相關模塊和開發工具

 

Chapter4Python對象-頁碼:86

4.1python對象:包括三個特性:身份id(),類型type(),值

4.1.1對象屬性:用.標記法來訪問屬性,最常用的屬性是函數和方法

4.2標准類型

4.3其他內建類型

4.3.1類型對象和type類型對象

4.3.2None,Python的Null對象:布爾值為False的對象列舉。

4.4內部類型

4.4.1代碼對象

4.4.2幀對象

4.4.3跟蹤記錄對象

4.4.4切片對象

4.4.5省略對象

4.4.6XRange對象

4.5標准類型運算符

4.5.1對象值的比較:< <= > >= != ==

4.5.2對象身份的比較:is 或者 id(a)==id(b

4.5.3布爾類型的運算符:not,and,or

4.6標准類型內建函數

4.6.1 type()

4.6.2 cmp()

4.6.3 str()和repr()(及反引號運算符``)

4.6.4type()和isinstance():isinstance(a,type(a))為True

4.6.5Python類型運算符和內建函數總結

4.7類型工廠函數:int,str,list,tyoe

4.8標准類型的分類

4.8.1存儲模型

原子類型:數字,字符串

容量類型 列表,元組,字典

4.8.2更新模型

不可變類型:數字,字符串,元組:看似更新了,其實是新生成一個對象,可以用id查看。

可變:列表,字典

4.8.3訪問模型

直接訪問:數字

順序訪問:字符串,列表,元組

映射訪問:字典

4.9不支持的類型

 

Chapter5數字-頁碼:116

5.1數字類型

5.2整型

5.2.1布爾型:True False

5.2.2標准整數類型:int:長度與計算機的位數有關,有32位-2**31到2**31-1,也有64位

5.2.3長整型:無上限

5.2.3整型和長整型的統一

5.3雙精度浮點數:8個字節

5.4復數

5.4.1復數的內建屬性

5.5運算符

5.5.1混合模式運算符,優先級復數,浮點數,長整型,整型

5.5.2標准類型運算符

5.5.3算數運算符 /地板除:舍去小數部分,返回一個不大於結果的整數部分(注意負數)

若有:from __future__ import division:/代表浮點數除法,//代表地板除(整除){浮點數相除,也是整除,最后結果加.0}

若無:from __future__ import division:當數字有浮點數,/代表浮點數除法,當數字都是整數,/代表地板除,//一直為地板除,若有浮點數,結果加.0

5.5.4*位運算符(只適用於整數)

5.6內建函數與工廠函數

5.6.1標准類型函數:cmp(),str(),type()

5.6.2數字類型函數:int(),long(),float(),complex(),bool()

功能函數

abs():返回參數的絕對值

coece():數據類型轉換函數,返回一個包含類型轉換完畢的兩個數值元素的元組

divmod():內建函數把除數和余數運算結果結合起來,返回一個包含商和余數的元組。

>>> divmod(5,3)

(1, 2)

>>> divmod(-5,3)

(-2, 1)

round():用於對浮點數進行四舍五入運算

>>> round(4.4)

4.0

>>> round(4.5)

5.0

>>> round(-4.4)

-4.0

>>> round(-4.5)

-5.0

pow():進行指數運算

5.6.3僅用戶整數的函數

5.7其他數字類型

5.7.1布爾“數”

5.7.2十進制浮點數

5.8相關模塊:decimal,array,math/cmath,operator,random

 

Chapter6序列字符串列表和元組-頁碼:151

如果是標准類型的內建函數(dir(__builtins__)可查到),那么執行形式內建函數序列對象),如果是某序列的內建函數(dir(str)dir(list)或dir(tuple)或dir(dict)或dir(file)等可以查到),那么執行形式序列對象.內建函數。

6.1序列

6.1.1標准類型操作符

6.1.2序列類型操作符: in和not in,+,*,切片

6.1.3內建函數(BIFs):list,str,tuple,enumerate,len,reversed,zip

6.2字符串:單引號和雙引號都可以,轉義字符在引號中起作用

6.3字符串和操作符

6.3.1標准類型操作符

6.3.2序列操作符:切片,成員操作符in,not in

6.4只適合於字符串的操作符

6.4.1格式化操作符(%)

6.4.2字符串模板:更簡單的替代品

6.4.3原始字符串操作符(r/R)

6.4.4 Unicode字符串操作符(u/U)

6.5內建函數

6.5.1標准類型函數:cmp(),sorted():排序總返回列表

6.5.2序列類型函數:len(),enumerate(),zip()

6.5.3字符串類型函數:raw_input(),str(),Unicode()

6.6字符串內建函數: join(列表), split(分隔符),引用 字符串對象.內建函數: dir(str)

>>> L=['a','b','c']

>>> s='_'.join(L) #join是將列表組合為字符串

>>> print s

a_b_c

>>> r=s.split('_') #split是將字符串分隔為列表

>>> print r

['a', 'b', 'c']

6.7字符串的獨特特性

6.7.1特殊字符串和控制字符

6.7.2三引號:所見即所得

6.7.3字符串不變性

6.8 Unicode

6.8.1術語

6.8.2什么是Unicode?

6.8.4Codecs是什么?

6.8.5編碼解碼

6.8.6把Unicode應用到實際應用中

6.8.7從現實中得到的教訓

6.8.8 Python的Unicode支持

6.9相關模塊:string,re

6.10字符串關鍵點總結

6.11列表[]

6.12操作符

6.12.1標准類型操作符:比較操作符,倆列表的元素分別比較,直到一方勝出為止。

6.12.2序列類型操作符:切片,成員關系操作(in,not in),連接操作符+,append(),*

6.12.3列表類型操作符和列表解析:用方括弧和for循環

6.13內建函數

6.13.1標准類型函數:cmp():同比較操作符

6.13.2序列類型函數:

len(),max(),min(),sorted(),reversed(),enumerate(),zip(),sum(),list(),tuple()

6.13.3列表類型內建函數:range()

range(1,4):1,2,3

range(4,1,-1):4,3,2

range(-4,-1):-4,-3,-2

range(-1,-4,-1):-1,-2,-3

6.14列表類型的內建函數:列表對象.內建函數:

dir(list):append(),insert(),pop(),remove()

注:字符串是不可變的:不可變對象的方法是不能改變它們的值的,所以它們必須返回一個新的對象。而列表是可變的,在使用可變對象的方法,這些操作會在原地執行操作,也就是說現有的列表內容會改變,但是沒有返回值,不要傻傻的a=a.append()!

6.15列表的特殊特性

6.15.1用列表構建其他數據結構:堆棧:后進先出。隊列:新進新出。

6.16元組()

6.17元組操作符和內建函數

6.17.1標准類型操作符,序列類型操作符和內建函數:與列表一致。

6.17.2元組類型操作符和內建函數,內建方法:暫無。

6.18元組的特殊特性

6.18.1不可變給元組帶來了什么影響?

6.18.2元組也不是那么“不可變”:+更新成新對象。可以改變元組的列表元素的某個值。

6.18.3默認集合類型

6.18.4單元素元組:(‘xyz’,)

6.18.5字典的關鍵字

 

6.19相關模塊:copy,re,operator

6.20拷貝Python對象淺拷貝和深拷貝

6.21序列類型小結

 

Chapter7映射和集合類型-頁碼:250

7.1映射類型:字典{}可查看字典類型的屬性dir(dict)

7.2映射類型操作符:不支持拼接+和重復*的操作

7.2.1標准類型操作符

7.2.2映射類型操作符[],in,not in

7.3映射類型的內建函數和工廠函數

7.3.1標准類型函數[type(),str()和cmp()]

7.3.2映射類型相關的函數:dict(),len(),hash()

7.4映射類型的內建函數dir(dict):keys(),values(),items(),get(),copy()

7.5字典的鍵

7.5.1不允許一個鍵對應多個值

7.5.2鍵必須是可哈希的:不可變類型都是可哈希的。

7.6集合類型([])

7.7集合類型操作符

7.7.1標准類型操作符(所有的集合類型)

7.7.2集合類型操作符(所有的集合類型)

7.7.3集合類型操作符(僅適用於可變集合)

7.8內建函數

7.8.1標准類型函數:len()

7.8.2集合類型工廠函數:set(),frozenset()

7.9集合類型內建方法

7.9.1方法(所有的集合方法)

7.9.2方法(僅適用於可變集合)

7.9.3操作符和內建方法比較

7.10操作符,函數/方法

7.11相關模塊:set

 

Chapter8條件和循環-頁碼:285

8.1 if語句

8.1.1多重條件表達式:and,or,not

8.1.2單一語句的代碼塊

8.2 else語句

8.2.1避免“懸掛else”

8.3 elif語句

8.4條件表達式(即“三元操作符”)

X if C else Y   #C是條件表達式;X是C為True時的結果;Y是C為False時的結果

8.5while語句

8.5.1一般語法

8.5.2計數循環

8.5.3無限循環

8.6 for語句:可用在列表解析和生成器表達式中。

8.6.1一般語法:序列或迭代器

8.6.2用於序列類型:字符串,列表,元組

通過序列項迭代 for x in 對象  print x

通過序列索引迭代for x in range(len(對象)) print對象[x]

通過項和索引迭代 for x,y in enumerate(對象)  print x,y

8.6.3用於迭代器類型

8.6.4 range()內建函數:range()的完整語法

8.6.5 xrange()內建函數

8.6.6與序列相關的內建函數

sorted()和zip()返回一個序列(列表)

reversed()和enumerate()返回迭代器(類似序列)

8.7 break語句:結束當前循環然后跳轉到下條語句

8.8 continue語句:終止當前循環,並忽略剩余的語句,然后回到循環頂端,進行下一次迭代。

在while和for循環里,while循環是條件性的,而for循環是迭代的。

8.9 pass語句:不做任何事。開發和調試時,可先把結構定下來。

Pass在任何需要的語句塊里都可以使用(如if,for,while,elif,else,class,def,try,except,finally)

8.10 再談else語句

if else,while else,for else:只要循環正常結束(不是通過break),else子句就會被執行。

8.11迭代器和iter()函數

8.11.1什么是迭代器?

8.11.2為什么要迭代器?

8.11.3如何迭代? next(),reversed(),enumerate(),any(),all()

8.11.4使用迭代器:序列(iter)和字典(iterkeys,itervalues,iteritems),文件

8.11.5可變對象和迭代器

8.11.6如何創建迭代器:iter(對象)

8.12列表解析:expr for iter_var in iterable [if cond_expr],最后產生列表。可替換map()和lambda及filter()和lambda

8.13生成器表達式

8.14 R相關模塊

 

Chapter9文件和輸入輸出-頁碼:317

9.1文件對象

9.2文件內建函數[open()和file()]

File_object=open(file_name,access_mode=’r’,buffering=-1)

9.2.1工廠函數file()

9.2.2通用換行符支持(UNS)

9.3文件內建方法:dir(file)

9.3.1輸入:read(),readline(),   readlines():將列表變為文件,無行結束符

9.3.2輸出:write(),   writelines():將文件變為列表,不會刪除行結束符

9.3.3文件內移動:seek()

9.3.4文件迭代:for eachline in f:

9.3.5其他:close()

9.3.6文件方法雜項:os模塊,文件內建函數整理說明。

9.3.6文件內建屬性(數據屬性)

9.5標准文件:sys模塊

9.6命令行參數:sys.argv屬性

9.7文件系統 os模塊及os.path模塊中路徑名訪問函數整理

9.8文件執行

9.9永久存儲模塊

9.9.1 pickle和marshal模塊

9.9.2 DBM風格的模塊

9.9.3 shelve模塊

9.10相關模塊

 

Chapter10:錯誤和異常-頁碼:345

10.1什么是異常

10.1.1錯誤

10.1.2異常

10.2 Python中的異常:各個Error說明:NameError,ZeroDivisionError,SyntaxError,IOError,IndexError,KeyError,AttributeError

10.3檢測和處理異常

10.3.1 try-except語句:如果發生異常,try子句的剩余語句會被忽略,控制流立即跳轉到對應的處理器。沒有發生異常,控制流就會忽略except語句繼續執行。

10.3.2封裝內建函數

10.3.3帶有多個except的try語句

10.3.4處理多個異常的except語句

10.3.5捕獲所有異常:try: except Exception,e:

BaseException:(KeyboardInterrupt,SystemExit,Exception,所有內建異常)

10.3.6異常參數e

10.3.7在應用使用我們封裝的函數

10.3.8 else子句

10.3.9 finally子句

10.3.10 try-finally語句

10.3.11 try-except-else-finally:廚房一鍋端

10.4上下文管理

10.4.1 with語句

10.4.2 *上下文管理協議

10.5 *字符串作為異常

10.6觸發異常

之前的異常都是解釋器引發的,而程序員在編寫API時也可以程序觸發異常。

10.6.1 raise語句:raise Exception(‘[%s]錯誤信息提示’[%變量])

raise語句放在try塊中,if條件滿足則raise(拋出異常),通過except捕捉Exception異常。

10.7斷言

10.7.1斷言語句:assert expression[,’錯誤信息提示’]

Assert語句放在try塊中,通過except捕捉AssertionError異常。

如果斷言成功,則不采取任何措施。

如果斷言失敗,則觸發AssertionError(斷言錯誤)的異常。AssertionError異常和其他異常一樣可以用try-except語句塊捕捉,如果沒有捕捉,他將終止程序運行並提示traceback。

10.8標准異常:Python內建異常整理,異常是類。

根異常BaseException的子類:KeyboardInterrupt,SystemExit,Exception

Exception的子類:其他所有內建異常

10.9*創建異常

10.10為什么用異常(現在)?

10.11到底為什么要異常?

10.12異常和sys模塊

10.13相關模塊

 

Chapter11:函數和函數式編程-頁碼:388

11.1什么是函數?

11.1.1函數VS過程:過程時沒有返回值的函數(隱式返回默認值None)

11.1.2返回值與函數類型

11.2調用函數

11.2.1函數操作符

11.2.2關鍵字參數

11.2.3默認參數

11.2.4參數組-例子

通過一個把元組(非關鍵字參數)或字典(關鍵字參數)作為參數組傳遞給函數,可以將所有參數放進一個元組或字典中。如:

func(*tuple_grp_nonkw_args,**dict_grp_kw_args)

11.3創建函數

11.3.1 def語句

11.3.2聲明與定義比較

11.3.3前向引用

11.3.4函數屬性

11.3.5內部/內嵌函數

11.3.6 *函數(與方法)裝飾器

11.4傳遞函數:

1.def foo(): foo(函數對象的引用)和foo()(函數對象的調用)

2.foo作為函數的入參:foo1(foo)

11.5形式參數

11.5.1位置參數

11.5.2默認參數

11.6可變長度的參數

11.6.1非關鍵字可變長參數(元組)

11.6.2關鍵字變量參數(Dictionary)

11.6.3調用帶有可變長參數對象函數

11.7函數式編程

11.7.1匿名函數與lambda

11.7.2內建函數apply(),filter(),map(),reduce()

filter(func,seq)過濾,選出為真的序列(入參什么類型,結果就是什么類型)

map(func,seq)映射,將調用函數的結果返回來,列表類型。

reduce(func,seq),func為二元函數,只接受兩個參數,返回單一的,然后再與序列下一個元素來獲取又一個值,知道迭代整個seq,最終,返回一個值。

11.7.3偏函數應用

11.8變量作用域

11.8.1全局變量與局部變量

11.8.2 globa語句

11.8.3作用域的數字

11.8.4閉包

11.8.5作用域和lambda

11.8.6變量作用域和名字空間

11.9遞歸

11.10生成器

11.10.1簡單的生成器特性

11.10.2加強的生成器特性

 

注:11.7.3-11.10.2未仔細看,練習題未做。

 

Chapter12模塊-頁碼:450

12.1什么是模塊

12.2模塊和文件

12.2.1模塊名稱空間:通過句點屬性標志指定了各自的命名空間

12.2.2搜索路徑和路徑搜索PYTHONPATH和sys.path

12.3名稱空間:名稱到對象的映射。

三個命名空間:局部命名空間,全局命名空間,內建命名空間

12.3.1名稱空間與變量作用域比較

12.3.2名稱查找,確定作用域,覆蓋:優先局部,再全局,再內建。

12.3.3無限制的名稱空間

12.4導入模塊

12.4.1語句:import:順序:Python標准庫模塊,Python第三方模塊,應用程序自定義模塊

解釋器執行到這條語句,則會在搜索路徑中找到了指定的模塊,就會加載它。

12.4.2 from import語句:導入指定模塊的是模塊屬性from a[.b.c] import d

12.4.3多行導入:\

12.4.4擴展的import語句(as):from a import b as c

12.5模塊導入的特性

12.5.1載入時執行模塊

12.5.2導入(import)和加載(load):加載只在第一次導入時發生

12.5.3導入到當前名稱空間的名稱

12.5.4被導入到導入者作用域的名字

12.5.5關於 __future__

12.5.6警告框架

12.5.7從ZIP文件導入模塊(zip文件包括.py,.pyc,.pyo文件)

12.5.8”新的”導入鈎子

12.6模塊內建函數

12.6.1__import__()

12.6.2 globals()和locals()

12.6.3 reload()

12.7包:使用標准的import和from-import語句導入包中的模塊

12.7.1目錄結構:每個包都有__init__.py文件

12.7.2使用from –import導入包

12.7.3絕對導入:名字通過Python路徑(sys.path或PYTHONPATH)來訪問

12.7.4相對導入:句點導入

12.8模塊的其他特性

12.8.1自動載入的模塊:__builtin__會被自動導入

12.8.2阻止屬性導入:屬性名稱前加_

12.8.3不區分大小的導入?

12.8.4源代碼編碼

12.8.5導入循環?

12.8.6模塊執行

12.9相關模塊

 

Chapter13面向對象編程OOP-頁碼:473

13.1介紹:

13.1.1類和類實例

類是對象的定義,而實例是“真正的實物”,它存放了類中所定義的對象的具體信息。

class 類名(繼承的父類,如object):object是“所有類之母”

13.1.2方法:類的功能通俗名稱就是方法:def 方法名(self)

方法定義在類的定義中,但只能被實例所調用。所以用self,代表實例對象本身。

定義類(和方法)2.創建實例 3.用實例調用方法

13.1.3創建一個類(類定義)

__init__()方法:初始化一些值或初始化一些操作(如登錄數據庫),類的實例化會隱式調用__init__()方法,實例化的入參完全和__init__()方法接收的入參一致(除了self)

13.1.4創建子類

13.1.5命名類,屬性,方法 命名規范

類名:通常由大寫字母打頭:AbcDef

屬性(變量或常量):名詞:小寫:abc

方法:使用謂詞(動詞加對象):小寫_小寫:abc_def

13.2面向對象編程

13.2.1面向對象設計OOD與面向對象編程OOP的關系

13.2.2現實世界中的問題

13.2.3*常用術語

13.3類

13.3.1創建類

13.3.2聲明與定義:無區別,同時進行

13.4類屬性:屬於一個對象的數據和函數元素,通過句點標識符訪問。在調用類的方法前,需要創建一個實例。

13.4.1類的數據屬性

數據屬性僅僅是所定義的類的變量。不依賴任何類實例。

13.4.2方法

方法僅應用在類類型的對象(實例)

13.4.3決定類的屬性

通過dir(類名)或類名.__dict__可查看類的屬性

13.4.4特殊的類屬性:__name__,__doc__,__bases__,__dict__,__module__,__class__

13.5實例

13.5.2 __init__()“構造器”方法

調用類時,傳進的任何參數都交給了__init__(),__init__()是解釋器為你創建一個實例后調用的第一個方法。另,__init__()不允許放回任何對象(應當為None

13.5.3 __new__() “構造器”方法

13.5.4 __del__() “解構器”方法

13.6實例屬性

實例僅擁有數據屬性(方法嚴格來說是類屬性)

13.6.1“實例化”實例屬性(或創建一個更好的構造器)

13.6.2查看實例屬性:通過dir和__dict__查看

13.6.3特殊的實例屬性:__class__和__dict__

13.6.4內建類型屬性

13.6.5實例屬性vs類屬性

13.7從這里開始校對—綁定和方法調用

方法是類屬性。方法只有在其所屬的類擁有實例時才能被調用,方法才綁定到實例中。方法的第一個參數都是變量self。

13.7.1調用綁定方法

13.7.2調用非綁定方法:派生一個子類,覆蓋父類的方法。

13.8靜態方法和類方法:未看

13.8.1 staticmethod()和classmethod內建函數

13.8.2使用函數修飾符

13.9組合:將不同的類混合到其他類中

13.10子類和派生:相同的類但有一些不同的功能

13.10.1創建子類

13.11繼承:描述了基類的屬性如何遺傳給派生類。一個子類可以繼承它的基類的任何屬性(除了__doc__)。

13.11.1__bases__類屬性

13.11.2通過繼承覆蓋(Overriding)方法:如果方法名相同,優先用子類自己的方法。

13.11.3從標准類型派生:未看

13.11.4多重繼承:未看

13.12類,實例和其他對象的內建函數

13.12.1 issubclass():是否是子類issubclass(sub,sup)

13.12.2 isinstance():是否是實例isinstance(obj1,obj2)

13.12.3 hasattr(),getattr(),setattr(),delattr()

13.12.4 dir()

13.12.5 super()

13.12.6 vars()

13.13用特殊方法定制類:未看

13.13.1簡單定制(RoundFloat2)

13.13.2數值定制(Time60)

13.13.3迭代器(RandSeq和AnyIter)

13.13.4*多類型定制(NumStr)

13.14私有化

13.15*授權

13.15.1包裝

13.15.2實現授權

13.16新式類的高級特性(Python 2.2+)

13.16.1新式類的通用特性

13.13.2__slots__類屬性

13.16.3特殊方法__getattribute__()

13.16.4描述符

13.16.5 Metaclasses(元類)和__metaclass__

13.17相關模塊和文檔

 

Chapter14執行環境-頁碼:582  以后再看

14.1可調用對象:函數,方法,類,以及類的實例

14.1.1函數:內建函數BIFs,用戶定義函數UDF

14.1.2方法:內建方法BIM,用戶定義的方法UDM

14.1.3類

14.1.4類的實例:__call__

14.2代碼對象

14.3可執行的對象聲明和內建函數

14.3.1 callable()

14.3.2 compile()

14.3.3 eval()

14.3.4 exec

14.3可執行對象語句和內建函數

14.3.5 input()

14.3.6使用Python在運行時生成和執行Python代碼

14.4執行其他(Python)程序

14.4.1導入

14.4.2 execfile()

14.4.3將模塊作為腳本執行

14.5執行其他(非Python)程序

14.5.1 os.system()

14.5.2 os.popen()

14.5.3 os.fork(),os.exec*(),os.wait*()

14.5.4 os.spawn*()

14.5.5 subprocess模塊

14.5.6相關函數

14.6受限執行

14.7結束執行

14.7.1 sys.exit() and SystemExit

14.7.2 sys.exitfunc()

14.7.3 os._exit() Function os._exit()函數

14.7.4 os.kill() Function

14.8各種操作系統接口

14.9相關模塊

 

Chapter15正則表達式-頁碼:621

15.1介紹/動機

15.1.1您的第一個正則表達式

15.2正則表達式使用的特殊符號和字符:整理表

15.2.1用管道符號(|)匹配多個正則表達式模式

15.2.2匹配任意一個單個的字符(.)

15.2.4從字符串的開頭或結尾或單詞邊界開始匹配(^ / $ / \b / \B)

15.2.5創建字符類([]):任何一個字符

15.2.5.1[]中指定范圍(-)和否定(^)

15.2.6使用必報操作符(*,+,?,{})實現多次出現/重復匹配

15.2.7特殊字符表示字符集

15.2.8用圓括號(())組建組:為多個字符添加重復操作符

15.3正則表達式和python語言

15.3.1 re模塊:核心函數和方法:compile,match,search,findall,finditer,split,sub,group,groups  :函數的pattern指的是正則表達式

15.3.2使用compile()編譯正則表達式

compile(pattern,flags=0)

15.3.3匹配對象和group(),groups()方法

15.3.4用match()匹配字符串:

match(pattern,string,flags=0)

從頭開始匹配:返回regex對象。通過group提取匹配后的字符。

15.3.5 search()在一個字符串中查找一個模式(搜索與匹配的比較):

search(pattern,string,flags=0)

從任意位置匹配:返回regex對象。通過group提取匹配后的字符。

15.3.6匹配多個字符串(|)

15.3.7匹配任意單個字符(.):除了\n

15.3.8創建字符集合([])

15.3.9重復,特殊字符和子組:group(),groups()整理

15.3.10從字符串的開頭或結尾匹配及在單詞邊界上的匹配

15.3.11用findall()找到每個出現的匹配部分:返回列表或空列表

findall(pattern,string)

15.3.12用sub[和subn()]進行搜索和替換:返回替換后的字符串

sub(pattern,string,max=0)

15.3.13用split()分割(分隔模式):返回列表

re的split是根據正則表達式分隔字符串。字符串的split()是通過固定字符分隔。

split(pattern,string,max=0)

python原始字符串(raw strings)的用法

15.4正則表達式示例

15.4.1匹配一個字符串

15.4.2搜索與匹配的比較,“貪婪”匹配

 

Chapter16網絡編程-頁碼:655

16.介紹

16.1.1什么是客戶/服務器架構

16.1.2客戶/服務器網絡編程

16.2套接字:通訊斷點

16.2.1什么是套接字? 通信接口?

套接字家族:基於文件型的AF_UNIX和基於網絡型的AF_INET

16.2.2套接字地址:主機與端口

16.2.3面向連接SOCK_STREAM與無連接SOCK_DGRAM

16.3 Python中的網絡編程

16.3.1 socket()模塊函數

16.3.2套接字對象(內建)方法

 

Chapter17網絡客戶端編程-頁碼:685

Chapter18多線程編程-頁碼:721

Chapter19圖形用戶界面編程-頁碼:748

Chapter20Web編程-頁碼:781 

Chapter21數據庫編程-頁碼:841

Chapter22拓展Python-頁碼:880


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM