![b9a0python程序設(shè)計(jì)復(fù)習(xí)_第1頁](http://file4.renrendoc.com/view/dc9ac1527b6658fa3026679d5f77fd72/dc9ac1527b6658fa3026679d5f77fd721.gif)
![b9a0python程序設(shè)計(jì)復(fù)習(xí)_第2頁](http://file4.renrendoc.com/view/dc9ac1527b6658fa3026679d5f77fd72/dc9ac1527b6658fa3026679d5f77fd722.gif)
![b9a0python程序設(shè)計(jì)復(fù)習(xí)_第3頁](http://file4.renrendoc.com/view/dc9ac1527b6658fa3026679d5f77fd72/dc9ac1527b6658fa3026679d5f77fd723.gif)
![b9a0python程序設(shè)計(jì)復(fù)習(xí)_第4頁](http://file4.renrendoc.com/view/dc9ac1527b6658fa3026679d5f77fd72/dc9ac1527b6658fa3026679d5f77fd724.gif)
![b9a0python程序設(shè)計(jì)復(fù)習(xí)_第5頁](http://file4.renrendoc.com/view/dc9ac1527b6658fa3026679d5f77fd72/dc9ac1527b6658fa3026679d5f77fd725.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Python程序設(shè)計(jì)復(fù)習(xí)考試時(shí)間地點(diǎn)COMP110042.01
Python程序設(shè)計(jì)時(shí)間:6月4日晚上20:15-21:45地點(diǎn):H4504考試考試方式:閉卷考試題型選擇題程序改錯(cuò)程序填空編程題第1章基礎(chǔ)知識(shí):對(duì)象模型1.4 Python基礎(chǔ)知識(shí)Python對(duì)象:任何數(shù)據(jù)都是對(duì)象ID:該對(duì)象的唯一標(biāo)識(shí),內(nèi)部表示方式,用戶一般不用關(guān)心其具體取值Type:對(duì)象的類型,決定了其取值范圍以及支持的運(yùn)算Value:對(duì)象的取值,mutable和immutable對(duì)象(變量)名字:表示對(duì)于某個(gè)對(duì)象的引用(reference)name與object之間的綁定一般通過賦值語句來完成name可以屬于不同的命名空間namespace(模塊、函數(shù))所謂name的類型實(shí)際上指的是name所指向的對(duì)象的類型:無需預(yù)先聲明name的類型名字出現(xiàn)在RHS表示引用該名字指向?qū)ο蟮闹得殖霈F(xiàn)在LHS表示將RHS計(jì)算后得到的對(duì)象與名字綁定起來解釋器會(huì)自動(dòng)回收那些不再有名字綁定的對(duì)象可以通過del語句解除名字與對(duì)象的綁定第1章基礎(chǔ)知識(shí):合法的變量名什么是一個(gè)合法的變量名?必須以字母或下劃線開頭,其后的字符可以是字母、下劃線或數(shù)字以下劃線開頭的變量在Python中有特殊含義變量名中不能有空格以及標(biāo)點(diǎn)符號(hào)(括號(hào)、引號(hào)、逗號(hào)、斜線、反 斜線、冒號(hào)、句號(hào)、問號(hào)等)英文字母的大小寫敏感,例如student和Student是不同的變量一些特殊的標(biāo)識(shí)符保留為Python關(guān)鍵字,不能用作變量名第1章基礎(chǔ)知識(shí):數(shù)字類型與運(yùn)算數(shù)字:整數(shù)(int)、浮點(diǎn)數(shù)(float)、復(fù)數(shù)(complex)、布爾(bool)算術(shù)運(yùn)算符:除法運(yùn)算:/:浮點(diǎn)除法或真除法,結(jié)果為浮點(diǎn)數(shù)//:整除法,如果都為整數(shù),則結(jié)果為整數(shù),如果其中有浮點(diǎn)數(shù)則結(jié)果為浮點(diǎn)數(shù)取余(求模)運(yùn)算:可用于判斷是否整除,與//結(jié)合在一起來獲得整數(shù)的各位數(shù)字冪運(yùn)算:**除/運(yùn)算外,兩個(gè)不同數(shù)字類型之間的運(yùn)算進(jìn)行類型提升,int
float
complex比較運(yùn)算符: <
<=
==
!= >
>=比較運(yùn)算符可以連用:
x
<y
<
z, x<y
>
z內(nèi)置數(shù)學(xué)函數(shù):divmod、max、min、sum等math模塊:sqrt、log等第1章基礎(chǔ)知識(shí):輸入輸出輸入輸出:input(prompt):注意返回的是str,可能需要通過int/float等轉(zhuǎn)換為數(shù)字類型的對(duì)象print(value1,value2,…,sep='',end='\n',file=sys.stdout):注意sep和end的含義第1章基礎(chǔ)知識(shí):模塊模塊導(dǎo)入:import
module
[asalias]如果該module首次導(dǎo)入,尋找模塊源文件,加載模塊,創(chuàng)建模塊對(duì)象module或者alias與該模塊對(duì)應(yīng)的模塊對(duì)象綁定from
moduleimport
obj
[as
alias]:
從模塊中導(dǎo)入特定的對(duì)象,即obj與對(duì)象綁定from
module
import
*模塊的
name
屬性:作為script運(yùn)行時(shí),
name
等于'
main
'否則被import時(shí),
name
為模塊的名字第2章Python序列:序列概述無序和有序:set、dict為無序序列l(wèi)ist、tuple、str為有序序列:可以通過下標(biāo)、切片等來訪問序列中的元素str的元素為單個(gè)字符,而list、tuple、set、dict的元素可以是其它
python對(duì)象set要求其元素為可hashable的不可變對(duì)象dict要求其key為可hashable的不可變對(duì)象可變和不可變:list、set、dict為可變序列tuple、str為不可變序列,其中tuple為元素不可添加、刪除、修改,但是其元素所指向的對(duì)象本身的值可以修改第2章Python序列:序列創(chuàng)建list、tuple、dict、set各個(gè)序列的定義方式構(gòu)造函數(shù)的方法:list([iterable])、tuple、dict、set其中dict傳遞的參數(shù)為iterable時(shí)要求每個(gè)元素必須包括兩個(gè)子元素dict(**kwargs)也可以采用關(guān)鍵字參數(shù),參數(shù)名作為key,值作為value序列中的元素作為key,值缺省為Nonedict.fromkeys(seq[,value]):Literal:分別為[]、()、{}、{}元素中間用,分割考慮到()也可用于表達(dá)式,如果只有一個(gè)元素時(shí),添加逗號(hào),即(1,)dict和set都采用{},因此空set不能用literal定義,而是set()dict的每個(gè)元素用key:value的形式表示,key可以是任意immutable對(duì)象,要求唯一即可,value可以是任意python對(duì)象第2章Python序列:rangerange(stop):range(start,stop[,step])返回一個(gè)range對(duì)象,可產(chǎn)生一系列的整數(shù),從start(缺省為0) 開始,直到stop為止(不包括),step為步長,缺省為1第2章Python序列:下標(biāo)和切片有序?qū)ο蟮南聵?biāo):下標(biāo)從0開始,到len(s)-1為止負(fù)數(shù)下標(biāo)從-1開始到–len(s)為止,與正數(shù)下標(biāo)的關(guān)系為加上len(s)切片訪問:start:stop:step
start為哪個(gè)下標(biāo)開始,缺省為0,stop為到哪個(gè)下標(biāo)為止(但不包括該下標(biāo)),缺省為長度,step為步長,缺省為1start和stop都可以采用正數(shù)或者負(fù)數(shù)下標(biāo),注意不在合法下標(biāo)范圍時(shí)分別等同于0或者len(s)step為負(fù)時(shí),表示從start對(duì)應(yīng)的元素開始往前,直到stop為止切片出現(xiàn)在RHS時(shí)表示返回的是原列表的相應(yīng)元素組成的新的序列對(duì)象,比如new_lst=lst[:]可以使用切片來原地修改列表內(nèi)容01234[0,5)1020304050len(s)=5-5-4-3-2-1[-5,0)第2章Python序列:有序序列的操作有序序列支持:下標(biāo)和切片成員關(guān)系判斷:in not
inindex和count,返回元素在序列中的下標(biāo)和出現(xiàn)次數(shù),在不存在時(shí)會(huì) 拋出ValueError運(yùn)算符:?+
創(chuàng)建新的序列,兩個(gè)序列元素合并?+=原地合并序列*
其中一個(gè)參數(shù)為整數(shù),表示重復(fù)序列的元素比較運(yùn)算:同種類型的對(duì)象的比較,但注意數(shù)字類型可以進(jìn)行類型提升:1<1.45不是所有的對(duì)象都支持比較,比如complex、dict不支持序列的比較為對(duì)應(yīng)元素的比較,直到確定關(guān)系為止:
(2,3)
<
(2,4,5) (2,4)
<(2,4,5)第2章Python序列:有序序列的常用內(nèi)置函數(shù)reversed(iterable):逆序后的新的listsorted(iterable,reverse=False,key=None):排序后返回新的listlen(iterable)、max(iterable)、min(iterable):長度,最大值,最小 值sum(iterable):數(shù)值元素的和enumerate(iterable[,start]):返回枚舉對(duì)象,每次返回包含下標(biāo)和 值的元組zip(iter1,iter2…):
返回zip對(duì)象,每次返回各個(gè)可迭代對(duì)象中對(duì)應(yīng) 的相同位置的各個(gè)元素組成的元組第2章Python序列:列表的常用操作list.clear():清空所有元素list.append(x)和list.extend(L):注意這兩者的區(qū)別list.insert(index,x)list.remove(x),
list.pop([index]):del
list, del
list[index] del
list[slice]list.reverse()和list.sort():原地逆序和排序操作,與內(nèi)置函數(shù)
reversed和sorted的區(qū)別第2章Python序列:列表解析式和生成式[表達(dá)式
for
變量
in列表] 或者
[表達(dá)式
for變量
in
列表
if
條件]對(duì)列表中的每個(gè)元素,在滿足條件的情況下,計(jì)算表達(dá)式的值作為新列表的元素表達(dá)式可以包括函數(shù)調(diào)用等[x**2
for
x
inrange(10)][weapon.strip()
for
weapon
in
freshfruit][(x,y,z)
for
z
in
range(100)
for
y
in
range(1,z)
for
x
in
range(1,y)
if
x*x+
y*y==
z*z]第2章Python序列:序列解包LHS
=RHSLHS為對(duì)象引用,變量或者下標(biāo)切片描述的多個(gè)list元素LHS允許出現(xiàn)*seq,但只允許出現(xiàn)一次該引用前后的變量一一對(duì)應(yīng)賦值后,剩余的變量轉(zhuǎn)變?yōu)閘ist然后賦予該引用RHS可以是任何可迭代對(duì)象,包括tuple、list、dict、range、str等,逐個(gè)取該序列的元素賦予左邊對(duì)應(yīng)位置的對(duì)象引用除*seq以外的LHS的變量引用與RHS的元素必須一一對(duì)應(yīng)。與eval結(jié)合在一起進(jìn)行輸入:a,b,c=eval(input('Please
inputa,b,c'))a,b,c=[1,2,3]a,*b,c=range(1,7)for
index,value
inenumerate(dList):print('%d:%s'%(index,value))第2章Python序列:字典d.get(key[,default]):key不存在時(shí)返回0字典元素的添加與修改:d[key]=valued.update(another)字典元素的刪除:del
d[key]popitem,pop,clear等字典元素的讀取:d[key]以鍵作為下標(biāo)可以訪問字典元素,若鍵不存在則拋出異 常KeyErrord[key]
=
d.get(key,0)+
1if
key
ind:d[key]
+=
1else:d[key]
=
1try:d[key]
+=
1except
KeyError:d[key]
=
1第2章Python序列:字典的迭代keys():返回可迭代對(duì)象,元素為字典中的所有keyvalues():元素為所有valueitems():元素為(key,value)元組iter(d)
or for
key
in
d:
等價(jià)于iter(d.keys()):元素為所有key第2章Python序列:set集合的特性:不重復(fù)且無序,元素必須為不可變對(duì)象?
==
!=
in notin len
….第3章選擇與循環(huán):條件表達(dá)式任何表達(dá)式都是條件表達(dá)式,可用于選擇和循環(huán)結(jié)構(gòu)中不能包含賦值類語句條件表達(dá)式的真值判斷:False:值為0、None、空序列對(duì)象(長度為0)True:非0、非空對(duì)象邏輯運(yùn)算符:and
or not,注意短路邏輯and:返回第一個(gè)假(None、空或者數(shù)值0)的表達(dá)式或者最后一個(gè)表 達(dá)式or:返回第一個(gè)真(非None、非空或者非0)的表達(dá)式或者最后一 個(gè)表達(dá)式第3章選擇與循環(huán):選擇結(jié)構(gòu)if
expr:statement1elif
expr2:
#前面條件不滿足時(shí)
statement2elif
expr3:statement3else:statement_else選擇結(jié)構(gòu)的嵌套,注意縮進(jìn)第3章選擇與循環(huán):循環(huán)結(jié)構(gòu)break和continue語句的含義else在什么情況下執(zhí)行,沒有break時(shí)兩個(gè)循環(huán)之間的改寫理解和掌握循環(huán)嵌套while條件表達(dá)式:循環(huán)體if
條件表達(dá)式1:
break #可選#
Exit
loop
now,
skip
else
if
presentif
條件表達(dá)式2:
continue #
可選#
Go
to
top
of
loop
nowelse: #可選#
Run
if
we
didn't
hit
a
'break'else子句for
target
in
iterable:
#
Assign
iterable
items
totarget循環(huán)體if
條件表達(dá)式1:
break#可選#
Exit
loop
now,
skip
else
if
presentif
條件表達(dá)式2:
continue#可選#go
to
top
of
loop
nowelse: #可選else子句#If
we
didn't
hit
a
'break'第3章選擇與循環(huán)問題求解:首先確定步驟將每個(gè)步驟轉(zhuǎn)變?yōu)閜ython代碼對(duì)于多分支情況:確定條件表達(dá)式以及相應(yīng)分支對(duì)于要執(zhí)行多次情況:采用循環(huán)結(jié)構(gòu)確定循環(huán)結(jié)束條件: for
或者
whileexpr確定循環(huán)中止條件:break確定循環(huán)繼續(xù)條件:continue第4章字符串與正則表達(dá)式str
literal:單引號(hào)、雙引號(hào)、三單雙引號(hào)(可以跨越多行)字符轉(zhuǎn)義:\n\t
\\
\'原始字符串r'c:\user\xxx\sample.txt'字符串運(yùn)算:
+
*
%%和format方法需要了解常用字符串相關(guān)內(nèi)置函數(shù):chr、ordint/float/str第4章字符串與正則表達(dá)式:方法通用序列方法:下標(biāo)、切片、in、len、sorted、reversed、enumerate、zip去空白字符:
strip([chars])
lstrip([chars])
rstrip([chars])字符串類型判斷:
isdigit isalpha
isspace islower
isupper大小寫轉(zhuǎn)換:lower
upper測(cè)試和查找:startswith(prefix)
endswith(prefix)count(sub) index(sub)
rindex(sub)find(sub)
rfind(sub):注意find和index的區(qū)別,是否拋出異常拆分和組合:
split() rsplit(
)
split(sep)
join(iterable)填充和對(duì)齊: center
ljust
rjust(width[,fillchar])翻譯和轉(zhuǎn)換第4章字符串與正則表達(dá)式:正則表達(dá)式的元字符集:
^$
*
+?|{}[](
)字符類:
[xyz]
[^xyz]
[a-z][^m-z]預(yù)定義字符類:.\d\D
\w
\W
\s\S邊界匹配符:^$ \b
\B重復(fù)限定符:
?*
+
{n}
{n,}
{n,m}分組符()
\1
\name選擇符|第5章函數(shù)設(shè)計(jì)與使用def
func(…): 生成函數(shù)對(duì)象,賦值給func實(shí)參與形參的定義和匹配形參:位置形參、缺省值形參、可變長度形參、僅關(guān)鍵字傳遞的形參實(shí)參:位置實(shí)參、關(guān)鍵字實(shí)參順序:都是位置形式在前首先匹配位置實(shí)參,然后是關(guān)鍵字實(shí)參,接下來剩下的位置實(shí)參收集到可變長度位置形參tuple,剩下的關(guān)鍵字實(shí)參收集到可變長度dict形參,最后是缺省值形參函數(shù)調(diào)用采用pass
by
assignment的傳遞機(jī)制:形參=實(shí)參形參指向?qū)崊⑺傅耐粋€(gè)對(duì)象缺省值形參:指向保存在函數(shù)對(duì)象的
defaults
屬性中的同一對(duì)象return語句,沒有時(shí)相當(dāng)于return
None函數(shù)體的第一行為字符串表達(dá)式時(shí)會(huì)被保存在函數(shù)對(duì)象的
doc
屬性中第5章函數(shù)設(shè)計(jì)與使用:參數(shù)傳遞的序列解包調(diào)用時(shí)實(shí)參進(jìn)行序列解包:*seq:
seq的元素變?yōu)槲恢脤?shí)參**dict:
dict的元素變?yōu)殛P(guān)鍵字實(shí)參, key1
=
value1,
key2=value2第5章函數(shù)設(shè)計(jì)與使用:變量作用域命名空間(namespace)是名字(變量)和對(duì)象的映射,python采用dict來實(shí)現(xiàn)全局命名空間指的是在模塊內(nèi)部定義但是不在函數(shù)內(nèi)部定義的名字空間局部命名空間指的是在函數(shù)內(nèi)部定義的名字空間允許嵌套函數(shù),但不作要求一個(gè)變量(名字)如何加入到某個(gè)名字空間?只有定義(賦值)、global和nonlocal(不作要求)才會(huì)建立或者改變變量的作用域(namespace)賦值語句在訪問變量之后不會(huì)影響變量的名字空間的改變第5章函數(shù)設(shè)計(jì)與使用:變量作用域名字與對(duì)象的綁定采用late
binding,即調(diào)用時(shí)才綁定非全局的自由變量在外層函數(shù)返回時(shí)綁定,不作要求名字的命名空間(作用域)搜索:LEGB規(guī)則掌握LG規(guī)則就可以,即首先搜索函數(shù)內(nèi)部的本地命名空間,如果沒有則搜索全局的命名空間第7章:文件操作:打開和關(guān)閉f
=
open(file,
mode='r',
buffering=-1,
encoding=None)file:如果有目錄部分時(shí)可采用raw
stringmode:不包括時(shí)缺省為打開文本文件讀rwxa:
取其中一種模式tb+:可選的tb:文本和二進(jìn)制模式?+:讀寫模式f.close():關(guān)閉文件釋放資源文件操作的三種模式:open +
process
+
closeopen
+
try: process
+
finally:+
closewith
open
as
handler:
+process,系統(tǒng)自動(dòng)close釋放資源第7章:文件操作:讀寫read、readline和readlines的區(qū)別:read指定長度或者全部讀取到strreadline:讀取一行到str(換行符包括在內(nèi))readlines:讀取所有行,返回字符串列表write、writelineswrite:寫字符串writelines:字符串列表中的每個(gè)字符串寫入,注意中間不會(huì)添加換行符第8章異常處理結(jié)構(gòu)與程序調(diào)試異常:導(dǎo)致程序運(yùn)行出錯(cuò)而跳出正??刂屏鳟惓L幚恚翰东@異常,進(jìn)行相應(yīng)的處理常用的異常類:StopIterationZeroDivisionError: 除數(shù)為0NameErrorSyntaxErrorIndexErrorValueErrorKeyErrorAssertionErrorEOFError:輸入結(jié)束時(shí)觸發(fā)異常處理結(jié)構(gòu)了解出現(xiàn)異常時(shí)哪些代
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版 八年級(jí)英語下冊(cè) Unit 4 單元綜合測(cè)試卷(2025年春)
- 2025年網(wǎng)狀蓬松石英棉合作協(xié)議書
- 基本醫(yī)療衛(wèi)生與健康促進(jìn)法學(xué)習(xí)試題試卷及答案(一)
- 2025年制動(dòng)總泵合作協(xié)議書
- 2022石家莊49中九年級(jí)6月三模試卷
- 2025年二手工程機(jī)械買賣轉(zhuǎn)讓合同范文(2篇)
- 2025年人員勞務(wù)協(xié)議格式版(2篇)
- 2025年產(chǎn)品購銷合同協(xié)議標(biāo)準(zhǔn)版本(2篇)
- 2025年產(chǎn)品委托生產(chǎn)合同標(biāo)準(zhǔn)版本(三篇)
- 2025年臨時(shí)工合同協(xié)議模板(2篇)
- 2022年廣西高考英語真題及答案(全國甲卷)
- 安全生產(chǎn)責(zé)任清單(加油站)
- 動(dòng)物檢疫技術(shù)-動(dòng)物檢疫的程序(動(dòng)物防疫與檢疫技術(shù))
- 煤礦復(fù)工復(fù)產(chǎn)專項(xiàng)安全風(fēng)險(xiǎn)辨識(shí)
- DB42T 1049-2015房產(chǎn)測(cè)繪技術(shù)規(guī)程
- 《民航服務(wù)溝通技巧》教案第8課重要旅客服務(wù)溝通
- 學(xué)校副校長述職報(bào)告PPT模板下載
- 月老合婚真經(jīng)
- (完整版)歐姆龍E3X-HD光纖放大器調(diào)試SOP
- 2022年高級(jí)統(tǒng)計(jì)師考試真題及參考答案解析
- 1小時(shí):讓孩子踏上閱讀快車道課件
評(píng)論
0/150
提交評(píng)論