python必背入門代碼:
創(chuàng)新互聯(lián)建站專注于青銅峽企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站定制開發(fā)。青銅峽網(wǎng)站建設(shè)公司,為青銅峽等地區(qū)提供建站服務(wù)。全流程按需策劃設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
defnot_empty(s):
returnsandlen(s。strip())0
#returnsands。strip()
#如果直接單寫s。strip()那么s如果是None,會(huì)報(bào)錯(cuò),因?yàn)镹one沒有strip方法。
#如果s是None,那么Noneand任何值都是False,直接返回false
#如果s非None,那么判定s。trip()是否為空。
這樣子filter能過濾到None,"",""這樣的值。
分成兩部分看。第一部分是對(duì)長度進(jìn)行序列。相當(dāng)于就是range(5)他的結(jié)果就是。01234。第二部分就是具體的排序規(guī)則。排序規(guī)則是用nums的值進(jìn)行排序,reverse沒申明就是默認(rèn)升序。就是用nums(0到4)的值進(jìn)行排序,根據(jù)這個(gè)結(jié)果返回的一個(gè)range(5)的數(shù)組。
根據(jù)PEP的規(guī)定,必須使用4個(gè)空格來表示每級(jí)縮進(jìn)。使用Tab字符和其它數(shù)目的空格雖然都可以編譯通過,但不符合編碼規(guī)范。支持Tab字符和其它數(shù)目的空格僅僅是為兼容很舊的的Python程序和某些有問題的編輯程序。
Python的函數(shù)支持遞歸、默認(rèn)參數(shù)值、可變參數(shù),但不支持函數(shù)重載。為了增強(qiáng)代碼的可讀性,可以在函數(shù)后書寫“文檔字符串”(Documentation Strings,或者簡稱docstrings),用于解釋函數(shù)的作用、參數(shù)的類型與意義、返回值類型與取值范圍等??梢允褂脙?nèi)置函數(shù)help()打印出函數(shù)的使用幫助。
Python 中的字符串還支持轉(zhuǎn)義字符。所謂轉(zhuǎn)義字符是指使用反斜杠“\”對(duì)一些特殊字符進(jìn)行轉(zhuǎn)義。
轉(zhuǎn)義字符說明
\ 續(xù)行符
\n 換行符
\0 空
\t 水平制表符,用于橫向跳到下一制表位
\'' 雙引號(hào)
\' 單引號(hào)
\\ 一個(gè)反斜杠
\f 換頁
\0dd 八進(jìn)制數(shù),dd 代表字符,如\012 代表換行
\xhh 十六進(jìn)制數(shù),hh 代表字符,如\x0a 代表換行
在Python 中,提供了如下表所示的函數(shù)進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換。
函數(shù)作用
int(x) 將x 轉(zhuǎn)換成整數(shù)類型
float(x) 將x 轉(zhuǎn)換成浮點(diǎn)數(shù)類型
complex(real [,imag]) 創(chuàng)建一個(gè)復(fù)數(shù)
str(x) 將x 轉(zhuǎn)換為字符串
repr(x) 將x 轉(zhuǎn)換為表達(dá)式字符串
eval(str) 計(jì)算在字符串中的有效Python 表達(dá)式,并返回一個(gè)對(duì)象
chr(x) 將整數(shù)x 轉(zhuǎn)換為一個(gè)字符
ord(x) 將一個(gè)字符x 轉(zhuǎn)換為它對(duì)應(yīng)的整數(shù)值
hex(x) 將一個(gè)整數(shù)x 轉(zhuǎn)換為一個(gè)十六進(jìn)制字符串
oct(x) 將一個(gè)整數(shù)x 轉(zhuǎn)換為一個(gè)八進(jìn)制的字符串
賦值運(yùn)算符主要用來為變量等賦值。使用時(shí),可以直接把基本賦值運(yùn)算符“=”右邊的值賦給左邊的變量,也可以進(jìn)行某些運(yùn)算后再賦值給左邊的變量。在Python 中常用的賦值。
運(yùn)算符如下表所示。
運(yùn)算符說明舉例展開形式
= 簡單的賦值運(yùn)算x=y x=y
+= 加賦值x+=y x=x+y
-= 減賦值x-=y x=x-y
*= 乘賦值x*=y x=x*y
/= 除賦值x/=y x=x/y
%= 取余數(shù)賦值x%=y x=x%y
**= 冪賦值x**=y x=x**y
//= 取整除賦值x//=y x=x//y
比較運(yùn)算符,也稱關(guān)系運(yùn)算符,用于對(duì)變量或表達(dá)式的結(jié)果進(jìn)行大小、真假等比較,如果比較結(jié)果為真,則返回True,如果為假,則返回False。比較運(yùn)算符通常用在條件語句中作為判斷的依據(jù)。Python 中的比較運(yùn)算符如下表所示。
運(yùn)算符作用舉例結(jié)果
大于'a' 'b' False
小于156 456 True
== 等于'c' == 'c' True
!= 不等于'y' != 't' True
= 大于或等于479 = 426 True
= 小于或等于62.45 = 45.5 False
邏輯運(yùn)算符是對(duì)真和假兩種布爾值進(jìn)行運(yùn)算,運(yùn)算后的結(jié)果仍是一個(gè)布爾值,Python中的邏輯運(yùn)算符主要包括and(邏輯與)、or(邏輯或)、not(邏輯非)。
運(yùn)算符含義用法結(jié)合方向
and 邏輯與op1 and op2 從左到右
or 邏輯或op1 or op2 從左到右
not 邏輯非not op 從右到左
所謂運(yùn)算符的優(yōu)先級(jí),是指在應(yīng)用中哪一個(gè)運(yùn)算符先計(jì)算,哪一個(gè)后計(jì)算,與數(shù)學(xué)的四則運(yùn)算應(yīng)遵循的“先乘除,后加減”是一個(gè)道理。
下表按從高到低的順序列出了運(yùn)算符的優(yōu)先級(jí)。同一行中的運(yùn)算符具有相同優(yōu)先級(jí),此時(shí)它們的結(jié)合方向決定求值順序。
運(yùn)算符說明
** 冪
~、+、- 取反、正號(hào)和負(fù)號(hào)
*、/、%、// 算術(shù)運(yùn)算符
+、- 算術(shù)運(yùn)算符
、 位運(yùn)算符中的左移和右移
位運(yùn)算符中的位與
^ 位運(yùn)算符中的位異或
| 位運(yùn)算符中的位或
、=、、=、!=、== 比較運(yùn)算符
在Python 中,使用內(nèi)置函數(shù)input()可以接收用戶的鍵盤輸入。input()函數(shù)的基本用法如下:
variable = input("提示文字")
其中,variable 為保存輸入結(jié)果的變量,雙引號(hào)內(nèi)的文字用于提示要輸入的內(nèi)容。
默認(rèn)的情況下,在Python中,使用內(nèi)置的print()函數(shù)可以將結(jié)果輸出到IDLE或者標(biāo)準(zhǔn)控制臺(tái)上。其基本語法格式如下:
Print(輸出內(nèi)容)
其中,輸出內(nèi)容可以是數(shù)字和字符串(字符串需要使用引號(hào)括起來),此類內(nèi)容將直接
輸出,也可以是包含運(yùn)算符的表達(dá)式,此類內(nèi)容將計(jì)算結(jié)果輸出。
這幾個(gè)函數(shù)在 Python 里面被稱為高階函數(shù),本文主要學(xué)習(xí)它們的用法。
filter 函數(shù)原型如下:
第一個(gè)參數(shù)是判斷函數(shù)(返回結(jié)果需要是 True 或者 False),第二個(gè)為序列,該函數(shù)將對(duì) iterable 序列依次執(zhí)行 function(item) 操作,返回結(jié)果是過濾之后結(jié)果組成的序列。
簡單記憶:對(duì)序列中的元素進(jìn)行篩選,獲取符合條件的序列。
返回結(jié)果為: ,使用 list 函數(shù)可以輸入序列內(nèi)容。
map 函數(shù)原型如下:
該函數(shù)運(yùn)行之后生成一個(gè) list,第一個(gè)參數(shù)是函數(shù)、第二個(gè)參數(shù)是一個(gè)或多個(gè)序列;
下述代碼是一個(gè)簡單的測試案例:
上述代碼運(yùn)行完畢,得到的結(jié)果是: 。使用 print(list(my_new_list)) 可以得到結(jié)果。
map 函數(shù)的第一個(gè)參數(shù),可以有多個(gè)參數(shù),當(dāng)這種情況出現(xiàn)后,后面的第二個(gè)參數(shù)需要是多個(gè)序列。
map 函數(shù)解決的問題:
reduce 函數(shù)原型如下:
第一個(gè)參數(shù)是函數(shù),第二個(gè)參數(shù)是序列,返回計(jì)算結(jié)果之后的值。該函數(shù)價(jià)值在于滾動(dòng)計(jì)算應(yīng)用于列表中的連續(xù)值。
測試代碼如下:
最終的結(jié)果是 6,如果設(shè)置第三個(gè)參數(shù)為 4,可以運(yùn)行代碼查看結(jié)果,最后得到的結(jié)論是,第三個(gè)參數(shù)表示初始值,即累加操作初始的數(shù)值。
簡單記憶:對(duì)序列內(nèi)所有元素進(jìn)行累計(jì)操作。
zip 函數(shù)原型如下:
zip 函數(shù)將可迭代的對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的列表。
如果各個(gè)迭代器的元素個(gè)數(shù)不一樣,則返回列表長度與最短的對(duì)象相同,利用星號(hào)( * )操作符,可以將元組解壓為列表。
測試代碼如下:
展示如何利用 * 操作符:
輸出結(jié)果如下:
簡單記憶:zip 的功能是映射多個(gè)容器的相似索引,可以方便用于來構(gòu)造字典。
enumerate 函數(shù)原型如下:
參數(shù)說明:
該函數(shù)用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在 for 循環(huán)當(dāng)中。
測試代碼如下:
返回結(jié)果為: 。
本文涉及的函數(shù)可以與 lambda 表達(dá)式進(jìn)行結(jié)合,能大幅度提高編碼效率。最好的學(xué)習(xí)資料永遠(yuǎn)是官方手冊(cè)
Python中很多函數(shù)記不住的解決方法:
1、不用記住所有的函數(shù);
2、記住一些經(jīng)常使用的函數(shù);
3、其他不經(jīng)常使用的函數(shù)用到再去查就可以;
4、經(jīng)常溫習(xí)就可以多記住一些。
更多Python知識(shí),請(qǐng)關(guān)注:Python自學(xué)網(wǎng)!!