自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

十個(gè)Python初學(xué)者常犯的錯(cuò)誤

開(kāi)發(fā) 前端
下面10個(gè)Python初學(xué)者常犯的錯(cuò)誤,并不是真正的代碼錯(cuò)誤,代碼照樣可以運(yùn)行,但是不夠Pythonic,因?yàn)镻ython有自己的語(yǔ)言哲學(xué),在代碼的處理上有傳統(tǒng)語(yǔ)言無(wú)法比擬的簡(jiǎn)潔性和便捷性。

下面10個(gè)Python初學(xué)者常犯的錯(cuò)誤,并不是真正的代碼錯(cuò)誤,代碼照樣可以運(yùn)行,但是不夠Pythonic,因?yàn)镻ython有自己的語(yǔ)言哲學(xué),在代碼的處理上有傳統(tǒng)語(yǔ)言無(wú)法比擬的簡(jiǎn)潔性和便捷性。

1.  真值比較

初學(xué)者經(jīng)常在if語(yǔ)句中使用==比較符來(lái)判斷表達(dá)式是否為真值。

圖片

這是一種冗余的寫(xiě)法,其實(shí)你可以直接對(duì)變量進(jìn)行檢查。

圖片

2 . 字符串連接

很多初學(xué)者教程中,他們會(huì)告訴你字符串連接直接使用+操作符。

一種更優(yōu)雅的寫(xiě)法是使用f-string方式,將變量放置在{} 中,該方法能讓代碼清晰易讀,因?yàn)槟悴恍枰槍?duì)非字符串變量做強(qiáng)制轉(zhuǎn)換了。

3. open()、close()與上下文管理器

操作文件時(shí),下面的代碼看起來(lái)可讀性很好,打開(kāi)文件、編輯文件、關(guān)閉文件。不過(guò)在最后你總要是手動(dòng)去調(diào)用close方法來(lái)關(guān)閉文件。

其實(shí)python提供了內(nèi)置的上下文管理器,操作文件時(shí),使用with關(guān)鍵字操作文件,這樣就不需要自己處理文件的關(guān)閉操作了,在離開(kāi)上下文前管理器會(huì)自動(dòng)幫你關(guān)閉文件。

4. 檢查列表是否為空

假設(shè)你要基于列表做某些操作,操作前需要判斷列表是否為空,初學(xué)者通常會(huì)使用len方法判斷列表的長(zhǎng)度是否為0,并做后續(xù)操作。

有經(jīng)驗(yàn)的開(kāi)發(fā)者會(huì)告訴你,一種更好的方式是直接用列表本身來(lái)判斷列表是否為空

5. 字典中獲取key和value

如果你要列出并打印字典中所有元素,首先你要拿到每個(gè)元素的key,然后通過(guò)key來(lái)獲取對(duì)應(yīng)的value。初學(xué)者通常將兩個(gè)步驟分開(kāi)處理。

更便捷的方法是,字典的items()方法會(huì)返回一個(gè)由(key,value)元組構(gòu)成的迭代對(duì)象,

圖片

6. 解構(gòu)賦值

元組在python中是一種固定長(zhǎng)度的數(shù)據(jù)結(jié)構(gòu),新手在將元組中的元素賦值給多個(gè)不同的變量時(shí),他們通常的做法是從元組中逐個(gè)賦值給變量

圖片

更好的做法是直接在一行代碼中用解構(gòu)的方式,將元組同時(shí)賦值給多個(gè)不同的變量。

圖片

7. 列表迭代

對(duì)于新手來(lái)說(shuō),用for循環(huán)迭代列表中的元素時(shí),他們通常的做法是先拿到列表的長(zhǎng)度,然后通過(guò)元素的下標(biāo)索引來(lái)獲取值。

圖片

其實(shí)更專(zhuān)業(yè)的做法就是直接迭代列表本身,每次迭代出來(lái)的值就是列表中的元素

圖片

8.  一個(gè)索引用于多個(gè)列表

假設(shè)你想將兩個(gè)列表中的值做加操作,通常,你會(huì)從索引0開(kāi)始循環(huán)直到列表的結(jié)尾,每次循環(huán)將列表項(xiàng)做加操作組成新的列表

圖片

python提供了一個(gè)更好的方法zip(),它將兩個(gè)列表對(duì)象重新組合成一個(gè)成對(duì)出現(xiàn)的tuple元素列表

圖片

9. 海象操作符

在python3.8之前,當(dāng)一個(gè)變量作用在if判斷語(yǔ)句上時(shí),要先給他賦值然后再處理

圖片

python3.8的海象操作符,讓你的代碼減少重復(fù),看起來(lái)更簡(jiǎn)潔,你可以將變量的賦值和if判斷一行處理。

圖片

10. 不必要的索引

如果有一個(gè)文本列表,你想隨下標(biāo)索引一起打印,可以你單獨(dú)定義一個(gè)數(shù)字變量每次迭代的時(shí)候遞增1

圖片

一個(gè)更為專(zhuān)業(yè)的做法是直接用enumerate()方法,每次迭代時(shí),他會(huì)返回元素的下標(biāo)索引和元素本身

責(zé)任編輯:華軒 來(lái)源: Python之禪
相關(guān)推薦

2025-04-07 01:35:00

Go語(yǔ)言程序

2019-08-29 08:58:24

Python布爾型編程語(yǔ)言

2018-09-29 09:34:20

Python錯(cuò)誤初學(xué)

2024-05-08 12:41:29

Python編程語(yǔ)言

2015-12-14 10:20:57

Python程序員錯(cuò)誤

2024-06-04 00:00:06

Python初學(xué)者優(yōu)化

2023-01-17 09:27:18

Python語(yǔ)言

2024-08-17 12:14:06

2009-07-09 09:15:22

2013-07-02 10:01:04

2022-10-19 23:18:27

KubernetesPod錯(cuò)誤

2024-03-11 18:17:18

Python字符串分隔符

2020-09-06 08:19:11

Python編程語(yǔ)言開(kāi)發(fā)

2021-07-26 10:07:16

勒索軟件惡意軟件安全

2010-03-10 17:09:26

Python語(yǔ)言

2020-03-02 14:20:46

PythonGitHub編程語(yǔ)言

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML

2011-04-12 10:13:24

2014-01-03 14:09:57

Git學(xué)習(xí)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)