您好,登錄后才能下訂單哦!
本篇內容主要講解“Python代碼一致性的重要性有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python代碼一致性的重要性有哪些”吧!
1 + "1"
的結果應該是什么? "11"
和 2
都是猜測。這種表達方式是歧義的:無論如何做都會讓一些人感到驚訝。
一些語言選擇猜測。在 JavaScript 中,結果為 "11"
。在 Perl 中,結果為 2
。在 C 語言中,結果自然是空字符串。面對歧義,JavaScript、Perl 和 C 都在猜測。
在 Python 中,這會引發 TypeError
:這不是能忽略的錯誤。捕獲 TypeError
是非典型的:它通常將終止程序或至少終止當前任務(例如,在大多數 Web 框架中,它將終止對當前請求的處理)。
Python 拒絕猜測 1 + "1"
的含義。程序員必須以明確的意圖編寫代碼:1 + int("1")
,即 2
;或者 str(1) + "1"
,即 "11"
;或 "1"[1:]
,這將是一個空字符串。通過拒絕猜測,Python 使程序更具可預測性。
預測也會出現偏差。給定一個任務,你能預知要實現該任務的代碼嗎?當然,不可能完美地預測。畢竟,編程是一項具有創造性的任務。
但是,不必有意提供多種冗余方式來實現同一目標。從某種意義上說,某些解決方案或許 “更好” 或 “更 Python 化”。
對 Python 美學欣賞部分是因為,可以就哪種解決方案更好進行健康的辯論。甚至可以持不同觀點而繼續編程。甚至為使其達成一致,接受不同意的觀點也是可以的。但在這一切之下,必須有一種這樣的認識,即正確的解決方案終將會出現。我們必須希望,通過商定實現目標的最佳方法,而最終達成真正的一致。
這是一個重要的警告:首先,實現任務的最佳方法往往不明顯。觀念在不斷發展。Python 也在進化。逐塊讀取文件的最好方法,可能要等到 Python 3.8 時使用 walrus 運算符(:=
)。
逐塊讀取文件這樣常見的任務,在 Python 存在近 30年 的歷史中并沒有 “唯一的最佳方法”。
當我在 1998 年從 Python 1.5.2 開始使用 Python 時,沒有一種逐行讀取文件的最佳方法。多年來,知道字典中是否有某個鍵的最佳方法是使用關鍵字 .haskey
,直到 in
操作符出現才發生改變。
只是要意識到找到實現目標的一種(也是唯一一種)方法可能需要 30 年的時間來嘗試其它方法,Python 才可以不斷尋找這些方法。這種歷史觀認為,為了做一件事用上 30 年是可以接受的,但對于美國這個存在僅 200 多年的國家來說,人們常常會感到不習慣。
從 Python 之禪的這一部分來看,荷蘭人,無論是 Python 的創造者 Guido van Rossum 還是著名的計算機科學家 Edsger W. Dijkstra,他們的世界觀是不同的。要理解這一部分,某種程度的歐洲人對時間的感受是必不可少的。
到此,相信大家對“Python代碼一致性的重要性有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。