學習 Python 時會遇到哪些常見的挫折?


在當今計算機和軟體無處不在的時代,每天都有成千上萬的新加入者希望學習程式設計這項基本技能。對於初學者來說,Python 是最受歡迎的入門語言之一,因為它具有動態型別、易於學習以及廣泛的應用範圍。然而,對於剛剛開始程式設計之旅的新 Python 程式設計師來說,也存在一些反覆出現的挫折。我們將在本文中討論這些問題。

面臨的問題

  • 缺乏優質的學習資源

  • 遇到編譯器或執行時錯誤

  • 透過 Python 執行外部命令

  • Python 中的列舉

  • 使用模組

問題 1:缺乏優質的學習資源

儘管 Python 是最流行和使用最廣泛的程式語言之一,但相關的學習資源卻相對較少。雖然有一些不錯的資源,但它們並沒有涵蓋所有內容,導致學習曲線出現斷層。

此外,像 Python 這樣廣泛的程式語言在當今世界幾乎所有主要的科技領域都有應用,從機器學習模組到產品的後端開發。在同一個地方搜尋所有內容會導致一無所獲,因此在正確的平臺上尋找導師和課程非常重要。有許多知名的線上程式設計學院,行業專家會在那裡指導初學者,幫助他們學習所需的技能並採取正確的學習步驟。這是克服這個問題的一種有效方法。

問題 2:遇到編譯器或執行時錯誤

一般來說,與大多數常見的程式語言一樣,Python 中的錯誤可以是編譯時錯誤或執行時錯誤。編譯時錯誤主要是語法錯誤或其他形式的程式碼錯誤,在編譯器遍歷程式碼並學習如何執行整個程式碼塊時會被檢測到。如果出現編譯錯誤,程式執行將停止,並顯示一條錯誤訊息。

將其與執行時錯誤進行比較,執行時錯誤發生在程式已成功編譯並正在執行時,但每次執行時都存在影響其效能的某些錯誤。執行時錯誤的副作用可能非常大,因為它們通常在編寫和編譯程式碼時會被忽略,但會導致記憶體洩漏、資料丟失和其他重大問題。幸運的是,Python 有一個 shell 指令碼,可以幫助除錯錯誤。此外,像 Python pdb 這樣的偵錯程式可以幫助有效地發現和消除程式碼錯誤。

問題 3:透過 Python 執行外部命令

在 Python 程式設計生涯中的某個時刻,可能需要在 Python 指令碼中執行終端命令。通常,當將來自不同程式或指令碼的不同程式碼塊或模組組合在一起以建立程式時,就會發生這種情況。這可以透過 subprocess 模組下的 call 函式來實現。

語法

from subprocess import call
call('function name')

在這裡,首先從 subprocess 模組匯入 call 函式。然後呼叫 call 函式,並將需要呼叫的函式的函式名作為引數傳遞。這是一個非常簡單的語法,可以在終端中鍵入以外部呼叫函式。

演算法

步驟 1 − 從 subprocess 模組匯入 call 函式

步驟 2 − 呼叫 'call' 函式並將函式名作為引數傳遞

步驟 3 − 接收輸出

問題 4:Python 中的列舉

陣列是在大多數語言中最常用的容器之一。在 Python 中,列表是一個類似的容器,用於大多數基本實現。但是,由於陣列迭代使用索引,因此 Python 中列表的實現有所不同。在這裡,可以透過簡單的程式碼遍歷陣列元素,而不是使用索引。因此,為了訪問各個元素,我們在 Python 中使用 enumerate() 函式。

語法

for item in enumerate(x):
   print item

在這裡,我們像在 C++ 等其他語言中一樣使用 for 迴圈,但我們避免使用索引。enumerate() 函式負責遍歷陣列。列表的名稱作為引數傳遞給 enumerate() 函式。輸出以對的形式給出,每一對包含列表元素及其索引。我們也可以在 for 迴圈中新增條件以列印選定的列表元素。

演算法

步驟 1 − 建立列表並用元素初始化

步驟 2 − 在頭部使用 initialize() 函式建立 for 迴圈

步驟 3 − 傳遞列表名稱並將主體新增到 for 迴圈

示例

x = [10, 20, 30, 40, 50]
for item in enumerate(x):
   print item

輸出

(0, 10)
(1, 20)
(2, 30)
(3, 40)
(4, 50)

問題 5:使用模組

Python 語言包含大量精心設計的模組,其中包含各種函式。除此之外,程式設計師還可以建立自定義模組,並在其他程式中匯入以使用該模組中存在的函式,從而有助於程式碼的統一性。但是,如果匯入單獨的模組,我們需要一個特殊的程式碼塊來防止編譯器在匯入時立即執行函式,並等待在執行時主函式中實際呼叫它。

語法

def function():
   //body
if __name__ == '__main__':
function()

在這裡,首先定義函式,然後新增特定行。此程式碼行可防止在匯入函式時執行函式,而是等到在執行時主函式中呼叫該函式時才執行。

示例

def print_world():
    print ("Hello World!!")
if __name__ == '__main__':
 print_world()

輸出

Hello World!!

結論

在本文中,我們介紹了新程式設計師在學習 Python 時會遇到的一些常見挫折。雖然問題列表可能無窮無盡,但本文無法解決所有問題,可能需要更深入的理解。我們希望本文能為有需要的人提供一些有用的解決方案。

更新於: 2023年5月11日

67 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.