下面10個Python初學者常犯的錯誤,並不是真正的程式碼錯誤,程式碼照樣可以運行,但是不夠Pythonic,因為Python有自己的語言哲學,在程式碼的處理上有傳統語言無法比擬的簡潔性和便捷性。
初學者常在if語句中使用==比較子來判斷表達式是否為真值。
這是一種冗餘的寫法,其實你可以直接對變數進行檢查。
很多初學者教學中,他們會告訴你字串連線直接使用 運算元。
一種更優雅的寫法是使用f-string方式,將變數放置在{} 中,該方法能讓程式碼清晰易讀,因為你不需要針對非字串變數做強制轉換了。
操作檔時,下面的程式碼看起來可讀性很好,打開文件、編輯文件、關閉文件。不過最後你總是要手動去呼叫close方法來關閉檔案。
其實python提供了內建的上下文管理器,當操作檔時,使用with關鍵字操作文件,這樣就不需要自己處理文件的關閉操作了,在離開上下文前管理器會自動幫你關閉文件。
假設你要基於清單做某些操作,操作前需要判斷清單是否為空,初學者通常會使用len方法判斷列表的長度是否為0,並做後續操作。
有經驗的開發者會告訴你,更好的方式是直接用清單本身來判斷清單是否為空
如果你要列出並列印字典中所有元素,首先你要拿到每個元素的key,然後透過key來取得對應的value。初學者通常將兩個步驟分開處理。
更方便的方法是,字典的items()方法會傳回一個由(key,value)元組構成的迭代對象,
元組在python中是一種固定長度的資料結構,新手在將元組中的元素賦值給多個不同的變數時,他們通常的做法是從元組中逐個賦值給變數
更好的做法是直接在一行程式碼中用解構的方式,將元群組同時賦值給多個不同的變數。
對於新手來說,用for迴圈迭代列表中的元素時,他們通常的做法是先拿到列表的長度,然後透過元素的下標索引來取得值。
其實更專業的做法就是直接迭代列表本身,每次迭代出來的值就是列表中的元素
假設你想將兩個列表中的值做加操作,通常,你會從索引0開始循環直到列表的結尾,每次循環將列表項目做加運算組成新的清單
python提供了一個更好的方法zip(),它將兩個清單物件重新組合成一個成對出現的tuple元素列表
在python3.8之前,當一個變數作用在if判斷語句上時,要先給他賦值然後再處理
python3.8的海象運算子,讓你的程式碼減少重複,看起來更簡潔,你可以將變數的賦值和if判斷一行處理。
如果有一個文字列表,你想隨下標索引一起列印,可以你單獨定義一個數字變數每次迭代的時候遞增1
一個更專業的做法是直接用enumerate()方法,每次迭代時,他會傳回元素的下標索引和元素本身
以上是十個Python初學者常犯的錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!