有大神說,沒基礎學這個就是找虐,今天我想說你也可以……
優達菌
編程入門就一句話:從入門到放棄。
who say eight road!學會套路,保准成為編程超人!
歐剃
在這裡,我鄭重跟各位安利 Python 。
蟒蛇:老鐵,咱能不提到我嗎?
GIF/1K
大家別被這名嚇到,這門語言的創造者Guido van Rossum是根據BBC的搞笑節目「蟒蛇飛行馬戲」(Monty Python』s Flying Cirecus)來命名的——並非他有喜歡看蟒蛇絞殺動物的奇特癖好(不過logo的確是兩條蛇纏在一起)
優達菌
歐老師,為啥要安利大家用python?
據我多年女裝大佬Python老司機經驗,總結有下:
簡單:閱讀一個好的Python程序,就像在讀英語一樣,這種偽代碼本質是它最大優點之一,使你能專註解決問題,而不是去搞明白語言本身。
免費、開源:Python是FLOSS(自由/開放源碼軟體)之一。你可以自由發布這個軟體的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用於新的自由軟體中。
高級語言:當你用Python編寫程序時,你無需考慮一些底層細節。諸如:怎麼管理你的程序使用的內存之類的。
可移植性:由於它的開源本質,Python已經被移植在許多平台上。如果你小心避免使用依賴於系統的特性,那麼你的所有Python程序無需修改就能在這些平台上運行。包括Linux、Windows、FreeBSD、Macintosh、AS/400、Windows CE等,甚至還有PocketPC!
所以有人說,Python 是一款非常適合新手開的好車,不要駕駛證就能上路。除非你想體驗速度與激情的快感,一般來說,你不需要其它車。
優達菌
聽說Python有兩個不同版本,我該選擇2還是3?
Python2.x是已經進入穩定狀態的Python版本,Python3.x是開發更加活躍的面向未來的版本。它們在語言特性上有略微不同,但不至於相差太大。
至於選擇哪個版本,要根據你的使用方式而定。一般來說,大部分Linux和MacOS設備都默認預裝Python 2,且舊版本支持的第三方庫也更多;Python 3 則提供更舒服的字元編碼處理機制。
所以,如果你需要處理中文文本,或者你並不需要用到某些只有在Python 2上才能運行的庫,那你可從 Python 3 開始你的學習之旅。
優達菌
了解了些基本內容,我需要怎麼開工?
為了編寫存儲程序代碼的文本文件,我們需要一個趁手的編輯器。
對於編輯器的基本要求之一是語法加亮功能,利用這一功能,你的Python程序的不同部分被標以不同的顏色,這樣你可更好看清你的程序,使它的運行顯得形象化。
如果你使用Windows,我建議你使用IDLE。IDLE具備語法加亮功能,還有其他功能,比如允許你在IDLE中運行你的程序。注意:不要使用Notepad——它是一個糟糕的選擇,它沒有語法加亮功能,且不支持文本縮進。
如果你使用Linux/FreeBSD,你有很多種選擇。
初學編程:使用GEdit / Kate。
有經驗的程序員:使用VIM/Emacs。
勿庸置疑,它們是兩個功能最強大的編輯器。我個人使用VIM編寫我的大多數程序。
優達菌
是不是還要選擇適合我學習方式的教程?
目前初學者容易接觸到的Python教材大致有以下兩類(文末有具體推薦):
一類是文字材料,例如實體書、電子書、網路教程和程序文檔等。文字教程的好處在於信息密度大,學習中遇到不懂的內容可隨時查閱,書中的文字材料/代碼段可直接複製,方便看到運行結果。
另一類是多媒體教材,例如視頻課程和自學APP等。它們的好處在於直觀、互動性強,能清楚通過動畫、視頻的演示了解教學內容。
不管選哪個,結合教材中的實例代碼,通過不同的修改和輸出了解代碼的執行原理,都是非常重要的環節,多動手吧!
優達菌
那麼,入門的時候要怎麼做?
懂得查
啊,明明按照教程做的,怎麼跳出這麼多紅字?
Python程序在運行時遇到的錯誤,通常會顯示詳細行號和錯誤信息,方便用戶查找修正。遇到自己不認識的,別慌,先看看它們的描述,再打開你的文件,找到出錯的行號。
如果問題過於詭異,就要好好利用 Google 或者必應這些搜索引擎,搜索你遇到的具體問題,通常情況下,基礎性語法和邏輯問題還是比較容易解決的。
懂得想
上面步驟,依然沒有解決我的問題怎麼辦?
耐心點,不要指望搜索幾秒鐘就能解決一個複雜問題。如果你第一次搜索沒有結果(或者結果太多),也不要拋出一堆問題,這時要進行思考。
思考並不是發獃,要動起手來,通過搜索得到的信息,修改你代碼中「可能有問題」的部分,觀察它的輸出結果,逐步定位問題產生原因;
或是通過修改從網山搜到的別人代碼,研究運行情況,來了解別人是如何解決特定問題的。
GIF/2K
懂得問
可我想破了腦袋還是不明白,救救我啊!
這點我放到最後來說,因為如何提出一個好問題至關重要。
除了學習群和論壇之外,有幾個主要的問答網站:
國內:段錯誤(https://segmentfault.com/ )
國外:爆棧網(https://stackoverflow.com/ )
在問問題前,請在這網站上再搜索一遍你的問題——畢竟新手容易遇到的問題,在這裡可能早有人回答過了。
GIF/1K
那麼,當你排除以上一切,準備開始問時,該怎麼組織自己的問題呢?這裡有幾點建議:
話不在多而在精
提供簡練精確的信息非常重要。
第一,表現出你為簡化問題付出了努力,可使你得到回答的機會增加;
第二,簡化問題使你有可能得到更有用的答案;
第三,在你精鍊自己問題的過程中,可能自己就找到了解決方法。
描述錯誤信息,不做猜測
向別人陳述你的猜測是沒有用的(如果你的診斷理論真的那麼有用,你還會向別人求助嗎?)。所以,你只需要告訴他們問題的原始狀態,而不是你的解釋和理論,讓他們來解釋和診斷。
描述目標而不是過程
如果你想知道如何做某事,但在實現過程中卡住了,你需要在開頭就表明你的目標,再陳述你遇到問題。
GIF/1K
當你選擇學習編程,你的業餘時間都會被它所佔據,隨著學習曲線逐漸變陡,你感到枯燥、迷茫、自卑以及腦汁耗竭的痛苦。
這是非常正常的。許多人(包括我)在學習一門新技術時,都會遇到類似問題。對此,我個人的解決辦法有:
1、找點樂子
當你看完基礎語法,對繼續往下挖掘感到枯燥時,別勉強自己,翻翻書本,找一些有趣的練習題練練手,或者編寫、修改一些簡單有趣的小項目,跟你朋友講你學到的新內容,給自己找點成就感。
2、專註在當前的學習目標上
沒有技術背景的人,學習編程容易被複雜的技術體系嚇到,網上經常會出現「一定要讀這本書」、「最好先有 XX 基礎再看這篇教程」之類的警告,結果常會出現這種情況:本來你只打算學編寫網頁 ,結果卻開始苦讀《精通正則表達式》。
別擔心,你無需掌握所有分支,很多時候,你只要知道在需要某個知識點時,能從這類教程中找到對應用法即可。
3、習慣無知
無論學習什麼,往往越深入就覺得自己無知。這並不是壞事,它能讓你保持謙虛,但千萬不要被嚇得不敢繼續前進。
覺得寫出來的代碼就像一坨屎?正常,因為你看過的例子和學到的知識增進了你的眼界,但編程技能和思想需要在練習中成長,所以千萬不要因此而自卑,繼續嘗試,相信自己。
4、注意休息
人的認知能力是會隨著時間流逝而耗竭的,別逞能,站起來走動走動,呼吸一下新鮮空氣吧!
歐剃
最後,祝各位新晉魔法師學習順利,祝大家賺大錢~
歐剃一位好奇而且手賤的「坎德人」
本文作者信息:
來自純美蘋果園,DND玩家,也是IRC骰子「Oicebot」的作者
Linux用戶,Python學習者,業餘譯者
風景園林專業畢業,寫程序、做翻譯都只是因為好玩
Steam囤積症晚期,09年起沉迷《攻殼機動隊》
如果好奇會害死貓,那他早就被動保人士打死了
從0開始學編程黑魔法,你也可以!
今天的結尾gif是:祝你天天用錢擦眼淚
GIF/1K
報名點這記得給我們轉發+點贊哦!


※81歲奶奶自學編程,開發遊戲,彪悍人生不需解釋!
※完勝柯潔之後,AI 又想搶藝術家的飯碗……
TAG:優達學城Udacity |
※沒基礎的女生,如何練成一字馬?看看這三步,你也可以!
※不怕沒基礎!就怕負基礎!看看你中槍了嗎
※不怕沒基礎,就怕負基礎!
※素描深度剖析,沒基礎的也能一看就會
※26歲從零開始學習瑜伽,不要害怕沒基礎,這正是鍛煉的好時機
※學書法,不怕沒基礎,就怕負基礎!
※學書法,不怕沒基礎,就怕負基礎
※小兒推拿四大手法:發汗解表一絕,別說你沒基礎!
※健身沒基礎不怕!掌握這3項基礎動作,讓你健身找到肌肉感覺!
※命理經典口訣的通俗化解讀,沒基礎的朋友也能看懂!
※台灣自造潛艇堪稱地獄級難度,沒技術沒基礎,拉印度幫手更懸了
※VR設計培訓可以沒基礎學習
※沒基礎的女生,如何循序漸進進行力量訓練塑形?