|
Python期末復(fù)習(xí)筆記 簟紋 關(guān)注 0.154 · 字?jǐn)?shù) 4487 · 閱讀 1780 2021-01-07 21:54 本篇根據(jù)老師畫的重點(diǎn)基本上將期末考點(diǎn)都囊括了 如果發(fā)現(xiàn)有錯(cuò)誤或遺漏歡迎各位在學(xué)習(xí)群里指正 可能看起來稍微有點(diǎn)多,但其實(shí)大部分都是代碼 所有代碼塊都可以直接粘到編譯器里執(zhí)行,會(huì)報(bào)錯(cuò)的代碼我都加了注釋 (? ·_·)?,加油 Python 語(yǔ)言基礎(chǔ) python規(guī)范 命名規(guī)則 必須以下劃線或字母開頭 前后單下劃線為系統(tǒng)變量 雙下劃線開頭為類的私有變量 關(guān)鍵字不能用作變量名 注釋 單行注釋以 # 開頭 多行注釋可用多個(gè) # 或者用 三引號(hào)(文檔注釋) 多行語(yǔ)句 行尾使用反斜線()來續(xù)行 同一行寫多條語(yǔ)句 語(yǔ)句間用分號(hào)(;)分隔 輸入輸出 輸出print() print默認(rèn)在末尾換行 a = 1 b = 2 c = 3 # 直接輸出多個(gè)變量 print(a,b,c) # 輸出:1 2 3 # 使用 end參數(shù)用指定的字符替換末尾的換行符 print(a,end=’@’) # 輸出:1@ # 使用format print(’a={}’.format(a))# 輸出:a=1 print(’a={0},b={1},c{2}’.format(a,b,c))# 輸出:a=1,b=2,c3 輸入input() input輸入的始終是字符串,需要轉(zhuǎn)換為其他數(shù)據(jù)類型使用 python 數(shù)據(jù)類型 六個(gè)標(biāo)準(zhǔn)數(shù)據(jù)類型 Number(數(shù)字) String(字符串) List(列表) Tuple(元組) Sets(集合) Dictionary(字典) Number 包括:int(整型)、float(浮點(diǎn)型)、bool(布爾型)、complex(復(fù)數(shù))、long(長(zhǎng)整型) 清楚哪些值轉(zhuǎn)換為布爾類型后值是False print(bool([])) # 輸出:False print(bool(’’)) # 輸出:False print(bool({})) # 輸出:False print(bool(())) # 輸出:False # 注意下面兩個(gè)的區(qū)別 print(bool(0)) # 輸出:False print(bool(’0’)) # 輸出:True 浮點(diǎn)數(shù)的內(nèi)置函數(shù)運(yùn)算會(huì)有誤差,也就是小數(shù)的精度問題 String 字符串屬于序列,除此之外還有:元組、列表(集合和字典不是序列類型) 單引號(hào)和雙引號(hào)可以互換,也可以互嵌 三引號(hào)表示多行字符串(也可以作為文檔注釋) 另外:三引號(hào)內(nèi)可以直接使用回車、制表符,可以不使用轉(zhuǎn)移字符來表示 字符串常用操作 連接和重復(fù) print('hello’*3,’ wor’+’ld’) # 輸出:hellohellohello world 字符串的切片(左閉右開) word = ’hello world’ print(word[0:5]) # 輸出:hello print(word[:5]) # 輸出:hello print(word[1:]) # 輸出:ello world print(word[:]) # 輸出:hello world print(word[0:5:2]) # 輸出:hlo print(word[2:-2]) # 輸出:llo wor print(word[-2:2]) # 輸出空串 轉(zhuǎn)義字符 要注意這種復(fù)雜的轉(zhuǎn)義字符一起輸出 在字符串內(nèi)的“”、””、””等字符,會(huì)轉(zhuǎn)換為空白字符(回車符、水平制表符、換行符……) printf(’helloworld’) # 輸出:hello world Raw字符串(字符串內(nèi)不轉(zhuǎn)義) 字符串前綴為’R’或'r’ print(r'helloworld’) # 輸出:helloworld 變量及其賦值 簡(jiǎn)單賦值 a = 1 多目標(biāo)賦值 a=b=c=1 # 這種情況下a、b、c都是引用同一個(gè)變量 這樣會(huì)報(bào)錯(cuò) a=(b=c=1) a=(b=1) 序列賦值 左邊是元組、列表表示的多個(gè)變量,右側(cè)是元組、列表或字符串等序列表示的值。 序列元素個(gè)數(shù)必須和變量個(gè)數(shù)相等,否則會(huì)出錯(cuò) 在變量名前使用“*”創(chuàng)建列表對(duì)象引用 a,b = 1,2 # 省略括號(hào)的元組賦值 (c,d) = (2,3) # 元組賦值 [e,f] = [4,’5’] # 列表賦值 (g,h) = ['6’,7] # 元組和列表可以交叉賦值 (x,y,z) = 'abc’ # 字符串賦值,x='a’,y='b’,z='c’ (i,j) = (8,9,10) # 這是錯(cuò)誤的,變量和值的個(gè)數(shù)必須相等 在變量名前使用“*”創(chuàng)建列表對(duì)象引用 x,*y = 'abcd’ print(x,y) # 輸出:a ['b’,’c’,’d’] 運(yùn)算符和表達(dá)式 包括:算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、字符串運(yùn)算符、邏輯運(yùn)算符。 算術(shù)運(yùn)算符和表達(dá)式 算術(shù)運(yùn)算符包括:加(+)、減(-)、乘(*)、除(/)、取余(%)、整除(//)、冪運(yùn)算(**) a+=1和a=a+1等價(jià),a-=1、a//=2等也類似 要注意這種復(fù)雜的表達(dá)式的運(yùn)算優(yōu)先級(jí) int(8 * math.sqrt(36) * 10 ** (-2) *10 + 0.5)/10 運(yùn)算順序如下: int(8 * 6 * 10 ** (-2) * 10 + 0.5)/10 10**(2)=0.01 8 * 6 = 48 int(48 * 0.01 * 10 + 0.5 )/10 int(5.3)/10 5/10 0.5 邏輯運(yùn)算符 and(邏輯與),or(邏輯或),not(邏輯非) 關(guān)系運(yùn)算符 ==(等于)、!=(不等于)、<>(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于) 運(yùn)算符的優(yōu)先級(jí) 最高優(yōu)先級(jí)的三個(gè)運(yùn)算符(優(yōu)先級(jí)由高到低):** 冪運(yùn)算、~ 安位取反、- 負(fù)號(hào) 最低優(yōu)先級(jí)的幾個(gè)運(yùn)算符(優(yōu)先級(jí)由高到低):| 按位或、< > <= >= == != 關(guān)系運(yùn)算符、not and or邏輯運(yùn)算符 字符串運(yùn)算符 下面這些運(yùn)算對(duì)于列表、元組都有效(因?yàn)樗鼈兺瑢傩蛄蓄愋停?/p> 字符串連接(+) print(’a’+’b’) # 輸出:ab 重復(fù)字符串(*) print(’a’*3) # 輸出:aaa 索引字符串( [] ) a=’hello’; print(a[1]); # 輸出:e 截取字符串( [:] ) print(a[1:4]) # 輸出:ell 成員運(yùn)算符( in ) print(’e’ in a) # 輸出:True 成員運(yùn)算符( not in ) print(’e’ not in a) # 輸出:False Raw字符串( r/R ) print(R’hello’) # 輸出:hellollo 格式字符串(%) print(’hello %s%s’ %(’wor’,’ld’)) # 輸出:hello world 格式化 %c(轉(zhuǎn)換為字符) print(’%c’ %(’hello’)) # 報(bào)錯(cuò),必須是ASCII碼值或者一個(gè)字符,否則會(huì)出錯(cuò) %r(使用repr()進(jìn)行字符串轉(zhuǎn)換) print(’%r’ %(’hello’)) # 輸出:’hello’ %s(使用str()進(jìn)行字符串轉(zhuǎn)換) print(’%s’ %(’hello’)) # 輸出:hello .format() 格式化 print(’a={}’.format(’a’)) # 輸出:a=a repr()函數(shù)和str()函數(shù)的區(qū)別就在于接受值和返回值不同 repr()函數(shù)和str()函數(shù),分別會(huì)調(diào)用輸入對(duì)象的__repr__()、__str__()特殊方法 %d或%i(轉(zhuǎn)換為有符號(hào)十進(jìn)制數(shù)) print('%d’ %(-10)) # 輸出:-10 %u(轉(zhuǎn)換為無(wú)符號(hào)十進(jìn)制數(shù)) print(’%u’ %(-10)) # 輸出:-10 有無(wú)符號(hào)是指在二進(jìn)制下,最高位用來表示實(shí)際的數(shù)或是單純表示正負(fù) %o(轉(zhuǎn)換為無(wú)符號(hào)八進(jìn)制數(shù)) print(’%o’ %(100)) # 輸出:144 %x或%X(轉(zhuǎn)換為無(wú)符號(hào)十六進(jìn)制數(shù)) print(’%x’ %(100)) # 輸出:64 %e或%E(轉(zhuǎn)換成科學(xué)計(jì)數(shù)法) print(’%e’ %(1000)) # 輸出:1.000000e+03 %f或%F print(’%f’ %(100) # 輸出:100.000000) 格式化操作輔助符 print(’開始%10.2f結(jié)束’ %(7.2222)) # 輸出:開始 7.22 %10.2f 表示:最小總長(zhǎng)度為10,不足用前導(dǎo)空格補(bǔ)齊,長(zhǎng)度大于等于10則正常顯示(這里的長(zhǎng)度不包括小數(shù)點(diǎn)) 位運(yùn)算符 異或:二進(jìn)制數(shù)逐位對(duì)比相同為0,不同為1 10^2==8 1010 異或 0010 結(jié)果為:1000 運(yùn)算符說明 &按位與 |按位或 ^按位異或 ~按位去反 <<按位左移 >>按位右移 python 常用函數(shù) 數(shù)據(jù)類型轉(zhuǎn)換函數(shù) 重點(diǎn)掌握加粗的函數(shù) 函數(shù)名說明 int(str)將字符串str轉(zhuǎn)換為<u>整數(shù)</u> long(str)將字符串str轉(zhuǎn)換為<u>長(zhǎng)整型整數(shù)</u> float(str)將字符串str轉(zhuǎn)換為<u>浮點(diǎn)數(shù)</u> eval(str)將字符串str轉(zhuǎn)換為<u>有效表達(dá)式</u>并返回表達(dá)式計(jì)算后的對(duì)象 str(x)將數(shù)值x轉(zhuǎn)換為<u>字符串</u> repr(obj)將<u>對(duì)象</u>obj轉(zhuǎn)換為一個(gè)<u>字符串</u> chr(x)將整數(shù)x轉(zhuǎn)換為對(duì)應(yīng)的<u>ASCII字符</u> ord(x)將字符x轉(zhuǎn)換為對(duì)應(yīng)的<u>ASCII碼</u> hex(x)將一個(gè)整數(shù)x轉(zhuǎn)換為一個(gè)<u>十六進(jìn)制字符串</u> oct(x)將一個(gè)整數(shù)x轉(zhuǎn)換為一個(gè)<u>八進(jìn)制字符串</u> tuple(squ)將一個(gè)序列squ轉(zhuǎn)換為一個(gè)<u>元組</u> list(squ)將一個(gè)序列squ轉(zhuǎn)換為<u>列表</u> set(squ)將一個(gè)序列squ轉(zhuǎn)換為可變<u>集合</u> dict(squ)創(chuàng)建一個(gè)<u>字典</u>,squ是一個(gè)序列(key,value)元組 len(obj)返回對(duì)象的長(zhǎng)度(字符個(gè)數(shù)、列表元素個(gè)數(shù)、字典key個(gè)數(shù)) 數(shù)學(xué)函數(shù) 函數(shù)名說明 abs(x)返回?cái)?shù)值x的絕對(duì)值 exp(x)返回e的x次冪 fabs(x)返回?cái)?shù)字的絕對(duì)值 log10(x)返回以10為底的x的對(duì)數(shù) pow(x,y)返回x的y次冪 floor(x)x向下取整(小于等于x) ceil(x)x向上取整(大于等于x) fmod(x,y)求x/y的余數(shù) sin(x) cos(x)...返回x的三角函數(shù)值 python數(shù)據(jù)結(jié)構(gòu) python常用三種數(shù)據(jù)結(jié)構(gòu):序列、映射、集合 列表和元組有什么相同點(diǎn)和不同點(diǎn)?(后面會(huì)給出解釋) 字符串 字符串是不可變的序列,不可以通過 str[n] = chr來改變字符串 字符串的切片(左閉右開) word = ’hello world’ print(word[0:5]) # 輸出:hello print(word[:5]) # 輸出:hello print(word[1:]) # 輸出:ello world print(word[:]) # 輸出:hello world print(word[0:5:2]) # 輸出:hlo print(word[2:-2]) # 輸出:llo wor print(word[-2:2]) # 輸出空串 字符串轉(zhuǎn)列表 可以通過list()函數(shù)直接將字符串中的每個(gè)字符轉(zhuǎn)換為一個(gè)列表元素,也可以通過split()方法根據(jù)指定的分割符分割元素(默認(rèn)以空格分割)。 word = ’hello world’ print(list(word)) # 輸出:[’h’, ’e’, ’l’, ’l’, ’o’, ’ ’, ’w’, ’o’, ’ |
|
|