學(xué)Python:環(huán)境搭建、開發(fā)工具與報錯排查全攻略)
這兩年我陸陸續(xù)續(xù)帶過不少零基礎(chǔ)轉(zhuǎn)行學(xué) Python 的朋友發(fā)現(xiàn)一個很有意思的現(xiàn)象十個人里有七八個不是被語法勸退的而是掛在“裝環(huán)境”這一步。明明照著教程一步步點結(jié)果打開命令行輸入python要么蹦出來微軟商店要么提示python was not found再要么就是 pip 裝包裝到一半報紅。折騰一晚上代碼一行沒寫心態(tài)先崩了。這篇文章就是 Python 學(xué)習(xí)系列的第一篇核心任務(wù)只有一個把地基打牢。我會從 Python 安裝、開發(fā)工具選型、VSCode 環(huán)境配置、基礎(chǔ)語法入門到常用庫安裝和常見報錯排查把新手最容易踩的坑一次性講透。適合完全零基礎(chǔ)的小白也適合裝過環(huán)境但總出問題、想系統(tǒng)梳理一遍的朋友。看完之后你至少能做到自己動手裝好環(huán)境、寫跑第一段 Python 代碼、遇到報錯知道去哪里找原因。1. 學(xué)習(xí)路線與整體設(shè)計思路1.1 為什么要把“環(huán)境搭建”當(dāng)作第一課很多人學(xué)編程的第一反應(yīng)是找教程、看語法、背代碼卻忽略了一個前提代碼需要運行環(huán)境。Python 本身只是一個解釋器程序你寫的.py文件要讓它跑起來必須先把解釋器裝好并且讓系統(tǒng)能找到它。這個“找到”的過程就是環(huán)境變量 PATH 在起作用。另外寫代碼不能光靠記事本。一個趁手的編輯器能幫你自動補(bǔ)全、高亮語法、調(diào)試報錯效率完全不一樣。所以我一直跟新人說前三天別急著學(xué)語法先用兩天把“裝 Python 配編輯器 跑通第一行代碼”這三件事做扎實。后面所有的學(xué)習(xí)都是在這個地基上蓋樓。1.2 Python 學(xué)習(xí)路線的完整拼圖Python 的學(xué)習(xí)路徑其實可以畫成一張地圖第一階段是基本功第二階段是方向選擇。先看第一階段也就是這個系列前幾篇要覆蓋的內(nèi)容環(huán)境搭建安裝 Python、配置編輯器、掌握 pip 包管理工具基礎(chǔ)語法變量、數(shù)據(jù)類型、條件判斷、循環(huán)、函數(shù)數(shù)據(jù)結(jié)構(gòu)列表、字典、元組、集合這些是處理數(shù)據(jù)的骨架文件操作讀寫文本文件、CSV、JSON異常處理讓程序在出錯時不至于直接崩潰第二階段是方向選擇。Python 的應(yīng)用方向很廣常見的有 Web 開發(fā)Django/Flask、數(shù)據(jù)分析pandas/matplotlib、爬蟲requests/BeautifulSoup、自動化腳本、人工智能PyTorch/TensorFlow。每個方向需要的基礎(chǔ)不一樣但第一階段的內(nèi)容是共用底座。這里要特別提醒一句不要一上來就奔著“爬蟲”或“人工智能”去。我見過太多新手裝了 Python 就直接 pip install 各種大庫結(jié)果連requests返回的 Response 對象是什么都搞不清最后只能復(fù)制粘貼別人的代碼改一行就報錯。先把底座打牢方向的事后面再定完全不遲。2. 環(huán)境搭建Python 安裝全流程與避坑指南2.1 Python 安裝前的關(guān)鍵決策裝 Python 之前你先要搞清楚三件事裝哪個版本、裝 64 位還是 32 位、從哪下載。版本選擇上直接裝官方最新的穩(wěn)定版就行。Python 官方每年都會發(fā)布新版本比如 3.12、3.13 這樣的版本號。這里有個重要原則別追最新但別太舊。我建議選最新的穩(wěn)定版但如果你要用的第三方庫對 Python 版本有要求可以等所有庫都裝好驗證通過再決定是否升級。新手第一裝跟著教程指令選一個版本就好不要糾結(jié)。位數(shù)選擇上現(xiàn)在的主流系統(tǒng)基本都是 64 位直接選 64 位安裝包。除非你的電腦是老古董否則不用考慮 32 位。下載渠道是大坑。很多人搜索“Python 下載”會進(jìn)到各種第三方下載站下載下來一堆捆綁軟件。正確的渠道只有一個Python 官方網(wǎng)站 python.org這是我在實際教學(xué)中最想強(qiáng)調(diào)的一點。下載時認(rèn)準(zhǔn) downloads 頁面里的最新穩(wěn)定版選對應(yīng)的 Windows installer 包。macOS 用戶選 macOS installerLinux 用戶一般別從官網(wǎng)下用系統(tǒng)自帶的包管理器更省事——比如 Ubuntu 上用apt install python3這也是“l(fā)inux系統(tǒng)安裝python”相關(guān)搜索里最常見的解法。2.2 Windows 平臺上安裝 Python 的完整步驟下載好安裝包之后雙擊運行界面上的第一個選項就是決定之后踩不踩坑的關(guān)鍵“Add Python to PATH”這個復(fù)選框一定要勾上。path勾選必選Add Python to PATH 是最核心的一步忘了勾就會遇到 python was not found 這類報錯。這個選項會把 python.exe 所在的路徑寫入系統(tǒng)環(huán)境變量讓你在命令行里敲python就能啟動解釋器是新手最容易忽略的一步。然后點 Install Now等待安裝完成即可。這里我再強(qiáng)調(diào)一下很多教程會推薦 Customize installation自定義安裝路徑。對于新手我建議直接用默認(rèn)路徑理由很直接——默認(rèn)路徑最省心后續(xù)裝庫、找文件都方便。等你有經(jīng)驗了再考慮改路徑。最后點擊 Close 關(guān)閉。安裝完成后驗證環(huán)境是否正確的方式是打開命令行WinR 輸入 cmd 回車輸入python --version如果輸出類似Python 3.13.1這樣的結(jié)果說明安裝成功。再輸入pip --version能輸出版本號說明 pip 也裝好了。pip 是 Python 的包管理器后面所有第三方庫都靠它來安裝。2.3 安裝完成后的路徑與環(huán)境變量驗證有時候明明裝了 Python命令行卻還是提示找不到多半是 PATH 的問題。你可以手動檢查一下環(huán)境變量右鍵“此電腦” → 屬性 → 高級系統(tǒng)設(shè)置 → 環(huán)境變量在“系統(tǒng)變量”里找到 Path點編輯確認(rèn)里面有 Python 的安裝路徑和 Scripts 子目錄路徑。正常情況下Windows 默認(rèn)安裝路徑是C:\Users\你的用戶名\AppData\Local\Programs\Python\Python313\以及同目錄下的C:\Users\你的用戶名\AppData\Local\Programs\Python\Python313\Scripts\前面那條用來識別 python 命令后面那條用來識別 pip 命令。兩個都在 PATH 里命令行才能正常響應(yīng)。這里分享一個小技巧如果你不想手動改系統(tǒng)環(huán)境變量最簡單的辦法是卸載重裝一遍安裝時把“Add Python to PATH”勾上系統(tǒng)會自動配置好。2.4 國內(nèi)源地址與 pip 加速配置pip 裝庫默認(rèn)從官方源下載官方源在國外部分地區(qū)下載速度不太穩(wěn)定。解決辦法是換成國內(nèi)鏡像源這也是“python國內(nèi)源地址”、“python安裝numpy庫的方法”這些問題背后的共性問題。使用方式是加-i參數(shù)指定源地址安裝時臨時指定。這里提供幾個穩(wěn)定可用的國內(nèi)鏡像站# 清華源 pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple # 阿里云源 pip install numpy -i https://mirrors.aliyun.com/pypi/simple/ # 騰訊源 pip install numpy -i https://mirrors.cloud.tencent.com/pypi/simple/但每次敲那么長一串太累了更好的做法是永久配置。在命令行里執(zhí)行pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple配置一次之后以后再pip install就是用鏡像源了。我個人的體驗是清華源和阿里云源都很穩(wěn)哪個快用哪個即可。注意換源只是換下載服務(wù)器不影響 Python 代碼的運行效果不用擔(dān)心“用了國內(nèi)源是不是不標(biāo)準(zhǔn)”這種問題。3. 開發(fā)工具選型VSCode 與 PyCharm 的配置實戰(zhàn)3.1 編輯器選擇VSCode 還是 PyCharm環(huán)境裝好之后下一步就是選編輯器。這個選擇題我遇到過太多次直接說結(jié)論追求輕量、擴(kuò)展性強(qiáng)、以后可能寫前端或其他語言選 VSCode只想專攻 Python喜歡開箱即用的完整 IDE 體驗選 PyCharm Community 版PyCharm 的優(yōu)點是可以直接打開項目、自動識別虛擬環(huán)境、內(nèi)置調(diào)試器適合專注 Python 開發(fā)的人。缺點是啟動慢、吃內(nèi)存。我自己的主力是 VSCode因為它足夠輕速度快通過裝擴(kuò)展就能獲得接近 IDE 的體驗而且配置好之后對新手很友好。3.2 VSCode 中配置 Python 環(huán)境的完整流程VSCode 配置 Python 環(huán)境我按步驟拆解一下。第一步安裝 Python 擴(kuò)展。打開 VSCode左側(cè)工具欄找到擴(kuò)展圖標(biāo)四個方塊的圖標(biāo)搜索 “Python”作者是 Microsoft點 Install。這個擴(kuò)展是微軟官方維護(hù)的會提供代碼高亮、自動補(bǔ)全、調(diào)試支持。這一步對應(yīng)了“vscode python環(huán)境配置”和“vscode配置python”這類搜索詞背后最核心的需求也是新手最容易漏掉的一步。第二步打開一個文件夾作為工作目錄。點菜單欄 File → Open Folder選中你準(zhǔn)備放 Python 代碼的文件夾比如D:\python-learn。第三步選擇 Python 解釋器。按CtrlShiftP打開命令面板輸入 “Python: Select Interpreter”回車在彈出的列表里選你剛安裝的 Python 版本。如果列表里沒出現(xiàn)點 “Enter interpreter path” 手動找到 python.exe。第四步新建一個測試文件。在資源管理器里新建hello.py輸入print(hello python)按右上角的運行三角按鈕如果下方輸出面板顯示hello python環(huán)境配置成功。我自己的習(xí)慣是在 VSCode 的 settings.json 里加一行默認(rèn)解釋器路徑避免多版本 Python 混裝時選錯。通過命令面板輸入 “Preferences: Open User Settings (JSON)”打開配置文件加上{ python.defaultInterpreterPath: C:/Users/你的用戶名/AppData/Local/Programs/Python/Python313/python.exe }這樣即使電腦里裝了多個 Python 版本VSCode 也知道該用哪個。3.3 “python was not found” 報錯的根源與解法這個報錯在熱搜里出現(xiàn)了完整原文python was not found; run without arguments to install from the microsoft store我?guī)缀趺恐芏寄茉诮涣魅豪锟吹揭淮?。它的本質(zhì)是你在命令行輸入python系統(tǒng)在 PATH 里找不到 python.exe于是觸發(fā)了 Windows 的“應(yīng)用執(zhí)行別名”機(jī)制把你引導(dǎo)到微軟商店去。出現(xiàn)這個報錯有兩個最常見原因第一Python 安裝時沒勾選 “Add Python to PATH”。解法就是重裝或者手動加環(huán)境變量。第二電腦上裝了微軟商店版的 Python它會在 PATH 里創(chuàng)建一個指向商店的別名。你在商店安裝的 Python 版本沒問題但如果刪掉了商店版但別名還在命令行輸入python就會一直彈商店。解法是打開“設(shè)置 → 應(yīng)用 → 高級應(yīng)用設(shè)置 → 應(yīng)用執(zhí)行別名”把python.exe和python3.exe的開關(guān)關(guān)掉。順帶說一句如果你還沒有裝 Python系統(tǒng)提示你去微軟商店也別直接點“獲取”。微軟商店版 Python 和官網(wǎng)安裝版在 PATH 管理上有差異新手用官網(wǎng)版最省心。3.4 PyCharm 環(huán)境配置要點如果選擇 PyCharm配置過程更簡單。裝好 PyCharm 后新建項目時它會自動關(guān)聯(lián)系統(tǒng)里的 Python 解釋器。這里只需要注意一個點右下角解釋器版本要用你裝的官網(wǎng)版。如果 PyCharm 提示創(chuàng)建虛擬環(huán)境建議勾選虛擬環(huán)境的問題這篇不展開你先把基礎(chǔ)環(huán)境跑通再說。PyCharm 里運行 Python 文件也很直觀右鍵文件 → Run或者點右上角的綠色運行箭頭。它自帶終端和調(diào)試器新手不需要額外配置任何東西就能開始寫代碼。4. 基礎(chǔ)語法精講變量、類型轉(zhuǎn)換與函數(shù)4.1 變量定義與命名習(xí)慣環(huán)境配好了現(xiàn)在開始寫真正的代碼。Python 定義一個變量不需要聲明類型直接賦值即可name 張三 age 25 height 175.5 is_student True這四個變量分別是字符串、整數(shù)、浮點數(shù)、布爾值。Python 會根據(jù)你賦的值自動推斷類型這個特性叫動態(tài)類型。變量命名的核心規(guī)則很簡單只能由字母、數(shù)字、下劃線組成數(shù)字不能開頭不能和 Python 關(guān)鍵字重名。但更重要的還是習(xí)慣——我建議新手直接養(yǎng)成“見名知意”的命名方式不要用a、b、c這種沒有意義的命名。user_name比un好一萬倍這個習(xí)慣越早養(yǎng)成越省事。4.2 類型轉(zhuǎn)換從字符串到數(shù)字的硬核細(xì)節(jié)類型轉(zhuǎn)換是新手逃不開的話題“python類型轉(zhuǎn)換”這個熱搜詞的出現(xiàn)率一直很高。最常用的三個轉(zhuǎn)換函數(shù)是int()、float()、str()。num_str 123 num int(num_str) # 字符串轉(zhuǎn)整數(shù) print(num 1) # 輸出 124 pi_str 3.14 pi float(pi_str) # 字符串轉(zhuǎn)浮點數(shù) print(pi * 2) # 輸出 6.28 age 25 age_str str(age) # 整數(shù)轉(zhuǎn)字符串 print(我今年 age_str 歲) # 字符串拼接轉(zhuǎn)換過程中有一個特別容易踩的坑當(dāng)字符串里有空格或非數(shù)字字符時int()會直接報錯。num int(123 ) # 報錯invalid literal for int()因為123 末尾帶了個空格。解決辦法是先調(diào)用strip()方法去掉首尾空白num int(123 .strip()) # 正常運行輸出 123還有一類是用戶通過input()輸入的內(nèi)容默認(rèn)都是字符串。哪怕你輸入的是數(shù)字Python 也會把它當(dāng)成字符串處理。age input(請輸入年齡) # 用戶輸入 25 print(age 1) # 報錯str 和 int 不能直接相加 age int(input(請輸入年齡)) # 先轉(zhuǎn)換 print(age 1) # 輸出 26這些都是實際運行中特別常見的報錯遇到的時候不要慌先看類型對不對。4.3 函數(shù)、位置參數(shù)與默認(rèn)參數(shù)函數(shù)是代碼復(fù)用的核心工具。定義一個函數(shù)用def關(guān)鍵字def greet(name): print(你好 name) greet(張三) # 輸出你好張三這里name就是位置參數(shù)意思是調(diào)用時按位置順序傳入。位置參數(shù)最需要注意的點是順序。比如這個函數(shù)def introduce(name, age, city): print(f我叫{name}今年{age}歲來自{city}) introduce(張三, 25, 北京) # 正確位置一一對應(yīng) introduce(北京, 25, 張三) # 錯誤順序錯了邏輯完全不對第二個調(diào)用不會報語法錯誤但輸出會變成“我叫北京今年25歲來自張三”這種 bug 最難排查因為它不報錯。默認(rèn)參數(shù)可以給參數(shù)一個默認(rèn)值調(diào)用時可以不傳def greet(name, greeting你好): print(greeting name) greet(張三) # 輸出你好張三 greet(張三, 早上好) # 輸出早上好張三這里有個 Python 經(jīng)典的坑默認(rèn)參數(shù)不能是可變對象。比如def add_item(item, items[]): items.append(item) return items print(add_item(蘋果)) # 輸出 [蘋果] print(add_item(香蕉)) # 輸出 [蘋果, 香蕉]注意默認(rèn)列表被改了第二次調(diào)用時默認(rèn)列表[]并不是重新創(chuàng)建的而是第一次調(diào)用之后殘留的那個列表。要避免這個問題默認(rèn)值應(yīng)該用None然后在函數(shù)內(nèi)部處理def add_item(item, itemsNone): if items is None: items [] items.append(item) return items這個坑職場里很多寫了兩三年 Python 的人都會遇到新手早點知道是個大優(yōu)勢。4.4 abs 函數(shù)與常用內(nèi)置函數(shù)Python 內(nèi)置了很多實用函數(shù)abs()就是其中之一用來取絕對值print(abs(-5)) # 輸出 5 print(abs(3.14)) # 輸出 3.14除了abs新手馬上就會用到的還有l(wèi)en()計算長度、sum()求和、max()/min()取最大最小值、type()查看類型、round()四舍五入。這些內(nèi)置函數(shù)不需要 import 任何模塊直接就能用建議你花十分鐘把它們都試一遍。值得注意的一點是round()有浮點數(shù)精度問題。比如round(2.675, 2)的結(jié)果是2.67而不是2.68原因在于浮點數(shù)在計算機(jī)內(nèi)部的存儲方式。對精度有嚴(yán)格要求的場景建議用Decimal但新手了解這個坑即可不用深究。5. 常用庫安裝與數(shù)據(jù)處理入門5.1 pip 安裝 numpy 的完整過程與常見坑numpy是 Python 數(shù)據(jù)科學(xué)的地基庫幾乎所有做數(shù)據(jù)分析的人都會用到。安裝命令很簡單pip install numpy但實際執(zhí)行中可能遇到的問題不少。最常見的就是下載速度慢或者超時。我用一次實際操作來說明某次在新的電腦上執(zhí)行pip install numpy進(jìn)度條卡了半天最后報了一個timed out。原因就是官方源下載速度不穩(wěn)定我在命令行加上國內(nèi)鏡像源重新執(zhí)行pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple幾十秒就裝好了。如果你之前已經(jīng)按 2.4 節(jié)的方法永久配置了國內(nèi)源這一步都不會遇到。裝完之后驗證是否成功在命令行輸入pip show numpy輸出版本信息說明安裝成功。也可以在 Python 里直接import numpy試運行沒有報錯就說明可以用了。5.2 cv2 等圖像處理庫的安裝問題“python下載cv2”這個熱搜詞非常典型因為很多人第一次接觸cv2時會搜pip install cv2然后會發(fā)現(xiàn)裝不上。實際上cv2的正確包名是opencv-python不是cv2。cv2只是庫的模塊名安裝包的名字一點都不一樣。正確命令是pip install opencv-python裝完之后import cv2 print(cv2.__version__)能輸出類似4.12.0.80就說明安裝成功。這個坑的來源是 Python 的包名和模塊名不完全相同除了 cv2/opencv-python還有PIL/Pillow、sklearn/scikit-learn等。遇到裝不上的情況第一反應(yīng)去 PyPI 搜一下包名不要硬按模塊名去 pip install。5.3 matplotlib 繪圖與橫坐標(biāo)太密的實戰(zhàn)解法matplotlib是最常用的繪圖庫安裝命令pip install matplotlib。用來畫折線圖時最容易遇到的問題就是“畫圖橫坐標(biāo)太密集”。先看一個典型場景import matplotlib.pyplot as plt x list(range(100)) y [i**2 for i in x] plt.plot(x, y) plt.show()如果x有 100 個點matplotlib 默認(rèn)會在橫軸上把 100 個標(biāo)簽全標(biāo)出來。當(dāng)屏幕寬度放不下時文字就會互相疊在一起變成一團(tuán)黑。解決辦法有三個我按照“最推薦優(yōu)先”的順序排一下。方法一旋轉(zhuǎn)標(biāo)簽角度并設(shè)置間隔顯示plt.plot(x, y) plt.xticks(range(0, 100, 10), rotation45) # 每隔10個顯示一個旋轉(zhuǎn)45度 plt.show()用plt.xticks()手動控制顯示哪些刻度這是最可控的解法。range(0, 100, 10)表示只顯示第 0、10、20……90 共 10 個刻度45 度旋轉(zhuǎn)后就不重疊了。方法二用MaxNLocator自動控制刻度數(shù)量from matplotlib.ticker import MaxNLocator plt.plot(x, y) ax plt.gca() ax.xaxis.set_major_locator(MaxNLocator(nbins10)) # 最多顯示10個刻度 plt.show()MaxNLocator會智能地挑選刻度位置適合不關(guān)心具體顯示哪些值、只要“看起來清爽”的情況。方法三如果橫軸是日期用AutoDateLocator。這個方法在處理時間序列時特別好用matplotlib 會自動根據(jù)時間跨度選擇“每月一個刻度”還是“每年一個刻度”from matplotlib.dates import AutoDateLocator ax plt.gca() ax.xaxis.set_major_locator(AutoDateLocator()) plt.show()核心思路就一句話別讓 matplotlib 把每個點都標(biāo)出來手動控制顯示密度。我現(xiàn)在每次畫圖都會先想清楚“橫軸有多少個點”超過二三十個就直接用plt.xticks()做間隔控制避免最后輸出一堆糊在一起的標(biāo)簽。5.4 新手友好小項目愛心代碼與李白打酒基礎(chǔ)語法學(xué)完最容易讓人興奮的是做點小項目。這里分享兩個適合新手的經(jīng)典例子。一個是愛心代碼。用數(shù)學(xué)函數(shù)畫一顆愛心是很多人的第一個“有畫面”的 Python 程序import numpy as np import matplotlib.pyplot as plt t np.linspace(0, 2 * np.pi, 1000) x 16 * np.sin(t)**3 y 13 * np.cos(t) - 5 * np.cos(2*t) - 2 * np.cos(3*t) - np.cos(4*t) plt.figure(figsize(6, 6)) plt.plot(x, y, colorred, linewidth2) plt.axis(equal) plt.show()這個例子把 numpy 的數(shù)組計算和 matplotlib 的畫圖功能都串起來了。np.linspace(0, 2 * np.pi, 1000)生成 1000 個點代入?yún)?shù)方程之后得到 x 和 y 坐標(biāo)最后連線畫出心形。運行出來那一瞬間的成就感是純學(xué)語法給不了的。另一個是“李白打酒”這是一個經(jīng)典的邏輯題原文是李白街上走提壺去打酒遇店加一倍見花喝一斗三遇店和花喝光壺中酒。試問壺中原有多少酒用 Python 窮舉或者倒推都很方便。def original_wine(): for x in range(1, 100): # 倒著推最后一次喝光倒推回去 wine 0 # 遇到店酒翻倍遇到花喝一斗 # 順序是店、花、店、花、店、花 for action in 店花店花店花: if action 花: wine 1 # 倒推時喝掉的1斗要加回來 else: wine / 2 # 倒推時翻倍要還原 if abs(wine - x) 0.0001: return x return None print(original_wine())這個程序的思路是倒推最后一次喝完酒是 0 斗遇到一次花就把喝掉的那斗加回來遇到一次店就把翻倍的酒還原。這個題目很適合訓(xùn)練邏輯思維也順帶練習(xí)了循環(huán)和條件判斷。6. 常見報錯速查表與學(xué)習(xí)節(jié)奏建議6.1 新手高頻報錯速查表我把新手前三周最常遇到的報錯整理成了一張速查表你可以直接收藏起來遇到問題對照著看。報錯信息出現(xiàn)原因解決辦法python was not foundPATH 未配置或商店別名觸發(fā)重裝 Python 時勾選 Add to PATH或關(guān)閉應(yīng)用執(zhí)行別名pip 不是內(nèi)部或外部命令Scripts 目錄不在 PATH 中卸載重裝勾選 Add to PATH或手動加 Scripts 路徑ModuleNotFoundError: No module named numpy庫未安裝或安裝在另一個 Python 環(huán)境里執(zhí)行 pip install numpy檢查解釋器是否選對SyntaxError: invalid syntax語法錯誤常見于中文輸入法標(biāo)點檢查代碼里是否混入中文字符、是否漏寫冒號NameError: name xxx is not defined變量名拼寫錯誤或未定義檢查變量名拼寫和定義位置IndentationError: unexpected indent縮進(jìn)不一致Python 對縮進(jìn)敏感統(tǒng)一用 4 個空格TypeError: can only concatenate str字符串和數(shù)字直接相加用 str() 做類型轉(zhuǎn)換后再拼接invalid literal for int()字符串轉(zhuǎn)整數(shù)時包含非數(shù)字內(nèi)容先 strip() 去空格或檢查輸入內(nèi)容我在這里補(bǔ)充一個特別想強(qiáng)調(diào)的排查思路拿到報錯先讀最后一行不要從第一行看起。Python 的報錯信息把真正的原因放在最后面前面那一大串是調(diào)用棧新手還沒學(xué)會看。你自己第一次運行報錯時先讀最后一行按照上面表格的思路排查往往比從頭一頁頁找要快得多。6.2 學(xué)習(xí)節(jié)奏與系列規(guī)劃Python 學(xué)習(xí)第一講的內(nèi)容到這里你已經(jīng)完成了環(huán)境搭建、編輯器配置、基礎(chǔ)語法入門、常用庫安裝這幾件事。按照我自己的經(jīng)驗這個階段大概需要 3 到 7 天。千萬不要著急不要看別人兩周就爬蟲了自己兩天還卡在變量上就開始焦慮。編程學(xué)習(xí)不是比速度是比誰能堅持下來。接下來這個系列會按照這條線繼續(xù)走基礎(chǔ)語法 → 數(shù)據(jù)結(jié)構(gòu) → 文件操作 → 異常處理 → 實際項目。每一篇之間層層遞進(jìn)上一篇的知識點會在下一篇里反復(fù)用到。你只需要跟上每一篇把里面的示例代碼自己敲一遍——注意是自己敲一遍不是復(fù)制粘貼。敲錯了、報錯了、想辦法改對了這個過程才是真正進(jìn)步的地方。我自己帶過不少人體會最深的一點是新手最容易缺的不是教程而是“把報錯當(dāng)朋友”的心態(tài)。報錯不是程序在嘲諷你它在用一種很笨的方式告訴你問題出在哪。學(xué)會讀報錯你就學(xué)會了自學(xué)。這是任何教程都給不了你的能力。