Python小知识 | 这些技能你不会?(二)
閱讀本文可能需要8-10分鐘,老表說邊看邊思考,邊動(dòng)手能學(xué)到更多東西。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?——老表《老表說》
? Python小知識(shí) ?
最近在看《零壓力學(xué)Python》,鞏固一下基礎(chǔ)知識(shí),意外收獲到很多常用卻不一定被注意的小知識(shí),分享給大家,學(xué)到東西了點(diǎn)贊支持哦~
第一篇:
一、推導(dǎo)式
列表推導(dǎo)式是Python基礎(chǔ),好用,而又非常重要的功能,也是最受歡迎的Python特性之一。本質(zhì)上可以把列表推導(dǎo)式理解成一種集合了變換和篩選功能的函數(shù),通過這個(gè)函數(shù)把一個(gè)列表轉(zhuǎn)換成另一個(gè)列表的過程
(1) 普通推導(dǎo)式
(2)二維推導(dǎo)式
Python中還有字典推導(dǎo)式、元組推導(dǎo)式、集合推導(dǎo)式等,與列表推導(dǎo)式使用方式大致相同。
列表推導(dǎo)式的使用非常廣泛,從實(shí)際使用經(jīng)驗(yàn)來看,列表推導(dǎo)式使用的頻率是非常高的,也是相當(dāng)好用的。不過對(duì)于多層for循環(huán),復(fù)雜篩選條件的,使用列表推導(dǎo)式不一定好,因?yàn)檫@樣雖然節(jié)省了代碼量,但同時(shí)讓人讀起來和理解起來更加困難,這個(gè)時(shí)候建議直接用多個(gè)普通for循環(huán)方式實(shí)現(xiàn)就可以了。
二、enumerate 和 format 函數(shù)
(1)enumerate 函數(shù)
基本介紹:enumerate() 函數(shù)用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在 for 循環(huán)當(dāng)中。
enumerate(sequence, start=0)
sequence?--?一個(gè)序列、迭代器或其他支持迭代對(duì)象。
start?--?下標(biāo)起始位置,默認(rèn)為0。
基本使用
從上面可以看出,枚舉后的,迭代出的單個(gè)對(duì)象為元組(tuple)。
索引與值分開
(2)format函數(shù)
基本介紹:一種格式化字符串的函數(shù) ,它增強(qiáng)了字符串格式化的功能。
基本語法是通過 {} 和 : 來代替以前的 % 。
format 函數(shù)可以接受不限個(gè)參數(shù),位置可以不按順序。
基本操作
format的騷操作
語法解析
三、文件操作
(1)open函數(shù)
python open() 函數(shù)用于打開一個(gè)文件,創(chuàng)建一個(gè) file 對(duì)象,相關(guān)的方法才可以調(diào)用它進(jìn)行讀寫。
open(name, mode, buffering)
nam為必填參數(shù),其他選填
(2)讀寫文件
a.原文件內(nèi)容:
原文件內(nèi)容
b.文件目錄:I:\123.txt
c.讀文件
注意:這里也可以直接open生成IO流對(duì)象,不用with,但這個(gè)時(shí)候使用完,一定要記得close掉IO流,避免資源浪費(fèi)。
d.寫文件
注意:在寫文件時(shí),必須標(biāo)注寫格式"a+","r+","wb+"等,不然無法寫入,如果不修改mode,默認(rèn)為"r",只讀,強(qiáng)制寫入會(huì)報(bào)錯(cuò)io.UnsupportedOperation: not writable。
(3)基本讀寫格式表
基本讀寫格式表
四、局部變量與全局變量
(1)局部變量與全局變量
局部變量只對(duì)該變量所在函數(shù)有效,不會(huì)影響或修改函數(shù)外面的同名變量,所以可以看作,局部變量優(yōu)先于全局變量被使用。
示例:
可以明顯看出,此時(shí)函數(shù)域與全局域中g(shù)_test不相同,雖然我們在函數(shù)sum里修改了g_test的值,但對(duì)全局變量g_test并沒有影響。
(2)global關(guān)鍵字
global關(guān)鍵字,被global標(biāo)記的變量表示為全局變量,另外global不會(huì)創(chuàng)建指定的變量,因此我們還是需要在某個(gè)地方創(chuàng)建該變量,可在全局域中給變量賦值定義,也可以在函數(shù)域中賦值定義。
示例:
可以明顯看出,此時(shí)函數(shù)域與全局域中g(shù)_test相同了,也就是我們能在函數(shù)里操作全局變量了。
靈活應(yīng)用這些基本操作,讓你的工作學(xué)習(xí)事半功倍。
End推薦閱讀:(點(diǎn)擊標(biāo)題即可跳轉(zhuǎn))
??長按圖片 1 秒即可關(guān)注哦~
總結(jié)
以上是生活随笔為你收集整理的Python小知识 | 这些技能你不会?(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 骚出天际!一个程序员女装照片的开源项目
- 下一篇: websocket python爬虫_p