Python初學者,這樣解決問題可以更快提高

2021-10-01 02:22:32 字數 1668 閱讀 8996

一、正確準備你的問題

好的問題,首先自己要看懂意思,描述要通順;其次要完整而清楚,包含足夠多的資訊,說明白問題的起因。我們看乙個不方便解答的提問例項:

首先需要指出的是,所有不附上具體內容、看不到**,看不到報錯結果的提問,都是耍流氓。正如醫生診斷病情需要先讓病人驗血驗尿得出一系列檢查報告,才能推測病情,老師也需要看到**、報錯,甚至提問者的操作過程、意圖,才能推測出錯誤。

回到截圖上的常見問題:按照教程上卻出錯。遇到這種問題,首先應該檢查符號、拼寫、縮排等初學者常犯的錯誤。如果發現沒有錯誤,卻還是報錯,接下來應該排除的是工具包版本和課程不一樣導致的報錯,嘗試更新工具包。當然還有一種可能:

重啟重灌解決80%的問題

那麼什麼樣的報錯截圖和提問方法才是正確的呢?

完整的報錯截圖,要包括你的**、報錯的位置和報錯的具體文字,尤其是最後一行「syntaxerror」。有時候報錯非常長,提問者會忘記截圖最後一行報錯,這是一定要避免的。

因為我們寫**的目的是順利實現某個功能而不僅僅是跑通,能順利完成要求的**才是我們需要的。敘述清楚**目的,能讓老師對你寫的**進行更有效的指導。

二、善用搜尋引擎節約一大半的提問時間

「提問——等回答」的過程畢竟有一定的時間成本,有些問題只要善用搜尋引擎,就可以即時得到解決。但搜尋引擎畢竟不是人工,直接給報錯截圖是得不到回答的,如何讓它「聽懂」你的問題呢?

1、直接搜尋報錯關鍵字

以乙個新手很可能遇到的invalid syntax問題為例。

這是初學者很容易出現的「缺胳膊少腿型」語法錯誤,很多朋友看到英文就會自動遮蔽不去閱讀。其實只要大家簡單搜一下最後一句:invalid syntax,就能知道這樣的報錯主要原因是什麼(有時候不同程式語言的報錯提示是一樣的,加上語言名字會更有針對性): 

開啟其中乙個看上去有點東西的答案鏈結,有用的答案會舉出犯這樣錯誤的例子。看到別人報錯的例子,大家也更可能會聯想到一些自己可能不小心的地方,再度檢查**,找出bug。與此同時,大家也會學到「invalid syntax」是指語法有誤,可能在報錯標記的前後,缺少或多出了某些字元。

這一類的錯誤一定要學會自己排查,並且在不斷debug過程中養成遵守語法的好習慣。

2、沒有報錯文字,用簡潔的語言和關鍵字描述問題

同樣,還是先舉例子:

這個問題也是同學們經常遇到的:jupyter不執行**,左側顯示「*」號。雖然沒有跳出來報錯文字,但我們還是可以搜尋「jupyter 星號」尋找答案,這裡以在csdn搜尋為例:

果然能找到許多文章在講述我們遇到的問題,隨便點進一篇,就能知道,這個情況說明可能是上面的執行框出現錯誤,如果久等不出結果可以嘗試重啟kernel從上向下檢查每個框並找到錯誤**修改。

3、善用翻譯軟體協助閱讀報錯

一句英文都不想讀,何況一段英文?!

這裡同樣也是乙個常見問題,當同學們想要使用pip安裝或者公升級一些包的時候,如果pip版本不對就很可能不成功,視窗上會跳出這幾行字。其實只要耐著性子讀一遍報錯,就會知道,這裡的報錯其實已經給我們提示了解決辦法:您正在使用pip版本8.1.2,但版本19.1.1可用。您應該考慮通過'python -m pip install --upgrade pip'命令進行公升級。

但是,就是不喜歡讀英文怎麼辦?此時就應該掏出google翻譯(不用翻牆),把不想讀的英文貼上進去: 

大段英文還會出現在搜報錯的過程中,因為很多解釋報錯的網頁都是英文的,這時候就可以掏出另乙個神器,chrome瀏覽器的翻譯成中文功能:

OKR初學者問題

什麼是信心指數?什麼是okr的權重?okr必須要設定權重嗎?okr和kpi的區別是什麼?okr的優勢在 o和kr之間有什麼緊密關係?okr和todolist有何比較?如何持續跟蹤okr?okr評分規則是怎樣的?有哪幾種?如果對okr評分的時間過長,有數分鐘,這說明了什麼?okr是考核嗎?okr應該與...

python初學者,列表

2.列表 3.通用操作 4.修改列表 5.列表的方法 6.遍歷 語法列表名 元素1,元素2,元素3,元素n list 建立乙個列表 print list type list 執行結果為list 1,2,3,4,5 print list 0 結果是 1 print list 4 結果是 5 print...

Python初學者編碼問題解決辦法

1.python缺省會認為源 檔案是ascii編碼,中文字串無法讀取,解決方法 在原始碼開頭加上 coding gbk 即讓python知道你的字串是按gbk模式編碼的,而不是ascii,python自然就能會按gbk模式解碼 同時,以上 也表明你的原始碼按gbk編碼。python按unicode編...