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