Python內(nèi)置函數(shù)有很多,為大家推薦5個(gè)神仙級(jí)的內(nèi)置函數(shù):
專業(yè)成都網(wǎng)站建設(shè)公司,做排名好的好網(wǎng)站,排在同行前面,為您帶來(lái)客戶和效益!創(chuàng)新互聯(lián)公司為您提供成都網(wǎng)站建設(shè),五站合一網(wǎng)站設(shè)計(jì)制作,服務(wù)好的網(wǎng)站設(shè)計(jì)公司,做網(wǎng)站、成都網(wǎng)站建設(shè)負(fù)責(zé)任的成都網(wǎng)站制作公司!
(1)Lambda函數(shù)
用于創(chuàng)建匿名函數(shù),即沒(méi)有名稱的函數(shù)。它只是一個(gè)表達(dá)式,函數(shù)體比def簡(jiǎn)單很多。當(dāng)我們需要?jiǎng)?chuàng)建一個(gè)函數(shù)來(lái)執(zhí)行單個(gè)操作并且可以在一行中編寫(xiě)時(shí),就可以用到匿名函數(shù)了。
Lamdba的主體是一個(gè)表達(dá)式,而不是一個(gè)代碼塊。僅僅能在lambda表達(dá)式中封裝有限的邏輯進(jìn)去。
利用Lamdba函數(shù),往往可以將代碼簡(jiǎn)化許多。
(2)Map函數(shù)
會(huì)將一個(gè)函數(shù)映射到一個(gè)輸入列表的所有元素上,比如我們先創(chuàng)建了一個(gè)函數(shù)來(lái)返回一個(gè)大寫(xiě)的輸入單詞,然后將此函數(shù)應(yīng)有到列表colors中的所有元素。
我們還可以使用匿名函數(shù)lamdba來(lái)配合map函數(shù),這樣可以更加精簡(jiǎn)。
(3)Reduce函數(shù)
當(dāng)需要對(duì)一個(gè)列表進(jìn)行一些計(jì)算并返回結(jié)果時(shí),reduce()是個(gè)非常有用的函數(shù)。舉個(gè)例子,當(dāng)需要計(jì)算一個(gè)整數(shù)列表所有元素的乘積時(shí),即可使用reduce函數(shù)實(shí)現(xiàn)。
它與函數(shù)的最大的區(qū)別就是,reduce()里的映射函數(shù)(function)接收兩個(gè)參數(shù),而map接收一個(gè)參數(shù)。
(4)enumerate函數(shù)
用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在for循環(huán)當(dāng)中。
它的兩個(gè)參數(shù),一個(gè)是序列、迭代器或其他支持迭代對(duì)象;另一個(gè)是下標(biāo)起始位置,默認(rèn)情況從0開(kāi)始,也可以自定義計(jì)數(shù)器的起始編號(hào)。
(5)Zip函數(shù)
用于將可迭代的對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的列表
當(dāng)我們使用zip()函數(shù)時(shí),如果各個(gè)迭代器的元素個(gè)數(shù)不一致,則返回列表長(zhǎng)度與最短的對(duì)象相同。
打開(kāi)Python官網(wǎng),點(diǎn)download中的windows
2
下載exe后綴的可執(zhí)行文件,根據(jù)自己系統(tǒng)選擇32位還是64位。
END
安裝Python 3.5.1
32位和64位的版本安裝起來(lái)沒(méi)有區(qū)別,雙擊打開(kāi)后,第一步要記得勾上add python to Path 選項(xiàng),意思是把Python的安裝路徑添加到系統(tǒng)環(huán)境變量的Path變量中。然后選擇自定義路徑,默認(rèn)裝C盤(pán)也可以
下一步默認(rèn)全選就好了
再下一步,記得勾選第一項(xiàng),Install for all users, 然后選擇自己的目錄
安裝過(guò)程還是比較快的,稍等一會(huì)就好
裝完之后打開(kāi)電腦的cmd,驗(yàn)證一下安裝是否成功,主要是看環(huán)境變量有沒(méi)有設(shè)置好,在cmd中輸入python,然后回車,如果出現(xiàn)python的版本號(hào)則說(shuō)明軟件裝好了。
上一步驗(yàn)證失敗的話可能就是環(huán)境變量沒(méi)有設(shè)置好,繼續(xù)在命令行里輸入set Path,就打開(kāi)了系統(tǒng)環(huán)境變量的Path變量,查看一下有沒(méi)有Python的目錄(如下圖),如果沒(méi)有,就只能手動(dòng)去填加了。
1.打開(kāi)idle,點(diǎn)擊New File,開(kāi)啟一個(gè)新文檔
2.輸入函數(shù)(不用執(zhí)行函數(shù)!只定義?。?/p>
3.點(diǎn)save,找到當(dāng)時(shí)安裝Python的路徑(Python一般的默認(rèn)路徑是C:UsersHK-paul-2AppDataLocalProgramsPython )=》Python X.XX=》Lib(不是libs!)=》site-packages=》保存
注意:你可以在site-packages里新創(chuàng)一個(gè)文件夾,文件夾里有多個(gè)文件,這樣就可以一起導(dǎo)入那些函數(shù)文件。
例如一個(gè)叫MAGE_Python的文件夾里有pro_pygame,pro_python和pro_tkinter三個(gè)Python文件,
這樣你只要導(dǎo)入MAGE_Python就可以一起導(dǎo)入pro_pygame,pro_python和pro_tkinter,
如果你只用某一個(gè),又想節(jié)約空間,也可以from MAGE_Python import pro_pygame這樣一個(gè)個(gè)導(dǎo)入
一直對(duì)不同語(yǔ)言間的交互感興趣,python和C語(yǔ)言又深有淵源,所以對(duì)python和c語(yǔ)言交互產(chǎn)生了興趣。
最近了解了python提供的一個(gè)外部函數(shù)庫(kù) ctypes , 它提供了C語(yǔ)言兼容的幾種數(shù)據(jù)類型,并且可以允許調(diào)用C編譯好的庫(kù)。
這里是閱讀相關(guān)資料的一個(gè)記錄,內(nèi)容大部分來(lái)自 官方文檔 。
ctypes 提供了一些原始的C語(yǔ)言兼容的數(shù)據(jù)類型,參見(jiàn)下表,其中第一列是在ctypes庫(kù)中定義的變量類型,第二列是C語(yǔ)言定義的變量類型,第三列是Python語(yǔ)言在不使用ctypes時(shí)定義的變量類型。
創(chuàng)建簡(jiǎn)單的ctypes類型如下:
使用 .value 訪問(wèn)和改變值:
改變指針類型的變量值:
如果需要直接操作內(nèi)存地址的數(shù)據(jù)類型:
下面的例子演示了使用C的數(shù)組和結(jié)構(gòu)體:
創(chuàng)建指針實(shí)例
使用cast()類型轉(zhuǎn)換
類似于C語(yǔ)言定義函數(shù)時(shí),會(huì)先定義返回類型,然后具體實(shí)現(xiàn)再定義,當(dāng)遇到下面這種情況時(shí),也需要這么干:
可以簡(jiǎn)單地將"so"和"dll"理解成Linux和windows上動(dòng)態(tài)鏈接庫(kù)的指代,這里我們以Linux為例。注意,ctypes提供的接口會(huì)在不同系統(tǒng)上有出入,比如為了加載動(dòng)態(tài)鏈接庫(kù), 在Linux上提供的是 cdll , 而在Windows上提供的是 windll 和 oledll 。
ctypes會(huì)尋找 _as_paramter_ 屬性來(lái)用作調(diào)用函數(shù)的參數(shù)傳入,這樣就可以傳入自己定義的類作為參數(shù),示例如下:
用 argtypes 和 restype 來(lái)指定調(diào)用的函數(shù)返回類型。
這里我只是列出了 ctypes 最基礎(chǔ)的部分,還有很多細(xì)節(jié)請(qǐng)參考官方文檔。
這兩天文章沒(méi)有寫(xiě),先是早出晚歸出去玩了一整天,然后加班到凌晨3點(diǎn)左右,一天一篇計(jì)劃劃水得嚴(yán)重啊…