寫給小白的工程師入門 - 從 Python 開始

題圖:pexels

這是我面向小白寫的 Python 編程教程的第一篇。周三已經(jīng)抓勺子同學(xué)上完了這節(jié)課,得到了很多珍貴反饋霞势,于是我把講義初版又修改了一遍耐亏,放到?影子練習(xí)SinanTalk?上來徊都。

原本有想法招募一個??給小白的工程師入門 - 從Python開始??的在線學(xué)習(xí)實驗小班,不為賺錢广辰,只是想實踐下自己的編程教學(xué)思路暇矫。但后來和勺子討論過后主之,我也同意我的設(shè)想太過苛刻——我想找到?大概率可以堅持學(xué)習(xí) Python 編程一年及以上 / 有長期 (指一年以上) 目標(biāo) / 但無短期急功近利想法?的同行小伙伴們。我明白人群中一定存在著這樣的人李根,可我的個人影響力尚小槽奕,也無太多精力可以用在這件“不務(wù)正業(yè)”的事上。于是房轿,就決定只對勺子同學(xué)一對一授課粤攒,把每次修改過的講義發(fā)到這兒來,供更多有心的讀者參考囱持。

如果你認可這篇教程的價值夯接,歡迎點贊、分享給更多人纷妆!有看不懂的地方也可以留言或者加我的個人微信(LynnTang_)問詢盔几。越多關(guān)注,作者就越多動力及時更新吶???


? ? ? ? ? ? ? ?? 寫給小白的工程師入門 - 從 Python 開始

macOS 版本

因為簡書編輯頁面代碼不友好掩幢,沒有代碼塊格式逊拍,所以我都用引用格式代替。產(chǎn)生混淆的地方請讀者到原文鏈接查看完美編輯版 :P


第1節(jié) ?基本開發(fā)環(huán)境設(shè)置

a. 學(xué)會使用基本命令行

? ?? 命令行的基本設(shè)置

在鍵盤上點擊 ?Space 际邻,用 Spotlight 呼出 Terminal芯丧。

一開始對于 Terminal 這個東西理解困難的讀者,可以把它想象成一個殼(shell)世曾,在這個殼里缨恒,你可以寫命令(command),這些命令直接發(fā)給電腦轮听,電腦收到特定命令會執(zhí)行特定行為肿轨,比如打開或編輯某個文檔。

——那為什么不直接去雙擊那個文檔的圖標(biāo)來打開呢蕊程?

因為用命令行(command-line)快很多椒袍!編輯一個文本或許看不出效率的差異,但要想編輯一百個文本的話藻茂,一個個地去用鼠標(biāo)雙擊打開再編輯保存關(guān)閉……是很累的驹暑。但使用命令行的話,不管是一個還是一百個辨赐,所用時間和需要的操作都差不多优俘。工程師是很懶的人,能逃掉重復(fù)步驟的地方就想方設(shè)法地要逃掉掀序。

最后帆焕,Terminal 只是承載了這個殼(命令行工具)的 APP 的名字。你還可以像我一樣下載其他類似的 APP不恭,比如程序員都愛用的 iTerm (https://www.iterm2.com) , 功能更加強大叶雹。

愿意通過提高 Terminal 的外觀來提高工作效率和愉悅程度的人财饥,應(yīng)該選擇給 Terminal ?換個皮膚:

我用的是這個:? Spacegray (https://github.com/wtanna/Spacegray-OSX-Terminal-Theme)


再換個字體。其實字體很重要折晦,除審美和健康需求外钥星,好的字體還可以提高工程師的工作效率。

選擇字體的基本原則是“等寬”满着。等寬字體(如 Courier New)對中文友好谦炒,可以輕易辨識出“全角/半角”字符。

除此之外风喇,是否能清楚區(qū)分易混淆的字符也是選擇字體的重要因素宁改。

常見易混淆字符:

數(shù)字0 ?vs ?字母O

數(shù)字1 ?vs ?大寫字母I ?vs 小寫字母l ?vs ?運算符|

數(shù)字9 ?vs ?字母q

分號; ?vs ?冒號:

……

我用的是 Courier New。


順便把字號設(shè)置得大一點魂莫,具體多大視自己電腦屏幕尺寸而定——順便提一句透且,有研究表明,電腦屏幕越大豁鲤,人的效率就越高。所以鲸沮,一塊兒大屏幕還是很值得投資的琳骡。

設(shè)置 Terminal 的字體字號可以在 Preferences > Profiles > spacegray > Text > Font 中找到。


? ? 查看是否已經(jīng)安裝 Python讼溺,以及 Python 版本(mac/ Linux 已內(nèi)置 Python2.7楣号,windows 需下載)

在命令行輸入:

python --version

若返回了類似于 "Python 2.7.10" 的信息,則已有 Python 2.7.

Python 2.7 與 Python 3.6 是最重要的兩個 Python 版本怒坯。Python 3.6 更新炫狱,但 Python 2.7 也依然常見。

兩個版本的差別不是特別大剔猿,Python 2.7 的網(wǎng)絡(luò)學(xué)習(xí)資料更多视译,但直接從 Python 3.6 開始后面就不用再適應(yīng)不同版本之間的差別了(當(dāng)然,以后還有會 Python 4归敬,5……)酷含。


? ??安裝最新版 Python 3.6

兩種方法,第一種直接從命令行安裝(看起來更像工程師)汪茧,依次復(fù)制粘貼以下5行代碼到 Terminal(一個字母或空格都不能錯):

xcode-select --install ? ? #安裝 XCode Command Line Tool

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ? #安裝 Homebrew

curl -O https://raw.githubusercontent.com/donnemartin/dev-setup/master/.bash_profile

echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile

brew install python3 ? ? ? #用 Homebrew 來安裝最新版 python

# 及后面的內(nèi)容為備注(同一行內(nèi))椅亚,不需要粘貼入 Termimal(寫了也會被忽略)。

小白肯定看不懂大部分指令的含義舱污,不過此時不需要深究呀舔,先把目的達到再說,以后會慢慢明白的扩灯。

第二種安裝方法即傳統(tǒng)安裝媚赖,去 Python 官網(wǎng)下載頁 (https://www.python.org/downloads/mac-osx)霜瘪,下載需要的版本。接下來跟著指示一步步走即可省古,參考安裝文檔 (https://docs.python.org/3/using/mac.html)粥庄。


? ?? 在命令行以交互模式寫 Python 代碼?

直接在 Terminal 中輸入:

python

這樣一般使用了默認的 Python 2.7 版本,如果想用 Python 3.6豺妓,可以這樣:

python3.6

當(dāng)看到光標(biāo)出現(xiàn)在 >>> 之后惜互,就可以輸入你的第一行 Python 代碼啦!

print?"Hello World" ? ? ?#python 2.7

print("Hello World") ? #python 3.6

# 及后面的內(nèi)容為備注(同一行內(nèi))琳拭,會被 Python 編譯器直接忽略训堆。

看到返回了 Hello World 即為成功!


b. 工程師的編輯器

? ? ? 使用命令行和文本編輯器來運行 Python 腳本?

有時我們需要運行多行的代碼時白嘁,直接在 Terminal 中一行一行地輸入會很不方便坑鱼,這時選擇用文本編輯器來寫代碼、用命令行工具運行寫了代碼的文本(稱為腳本 script)絮缅,就會方便很多鲁沥!

工程師愛用的編輯器很多,Atom, SublimeText, vi/vim ……我們不參與任何編輯器或編程語言之間比較的爭論耕魄,就以Atom為例來看一下如何從命令行運行 Python 腳本画恰。

? ?? 安裝 Atom

在 Terminal 中輸入以下兩行代碼:

brew tap caskroom/cask ? ? #安裝 brew cask

brew cask install atom ? ? ? ?#下載 atom

或者也可以按傳統(tǒng)方式安裝,去 Atom 官網(wǎng) (https://atom.io) 下載吸奴,打開后拖到Applications目錄去允扇。

? ?? 體驗 Atom?

有了 Atom 后,可以通過 Spotlight 打開一個 Atom 空白文檔则奥,打上我們之前已經(jīng)見過的第一行 Python 代碼:

print "Hello World" ? ? ?#python 2.7

print("Hello World") ? ? #python 3.6

點擊 ?S 保存腳本考润,可以取名為 test.py(注意 Python 腳本的擴展名為.py)。保存為 Python 腳本后可以看到代碼變彩色了(這就是文本編輯器提供的 syntax highlighting 功能)读处,變得更易辨識糊治。

? ?? 用命令行運行 Python 腳本?

接下來回到 Terminal,如果還停留在之前 Python 編譯器的頁面罚舱,可以點擊 ?T 打開一個新的空白頁(new tab)俊戳,接下來輸入:

python Path-To-Your-Script/test.py ? #使用 python 編譯器打開剛寫好的腳本;將‘Path-To-Your-Script’替換成你剛寫的腳本的路徑

(不知道一個文件保存在哪兒了的話馆匿,可以去到那個文件所在的文件夾抑胎,?C 復(fù)制該文件,再 ?V 粘貼到 Terminal渐北,就能看到該文件的路徑了阿逃。)

此時若在 Terminal 里看到?Hello World?就說明操作成功啦!


c. 認識 IDE:安裝使用 PyCharm

Integrated Development Environment (IDE),中文為集成開發(fā)環(huán)境恃锉,可以理解成集合了以上我們使用的文本編輯器搀菩、命令行工具與文件管理的開發(fā)軟件。與單純使用文本編輯器或命令行相比破托,IDE 更“有條理”肪跋,輔助工具更多,也更好上手編程土砂。

讓我們用通過一個主流的 Python IDE - PyCharm 來體驗下 IDE 吧州既。

在 Terminal 里輸入:

brew cask install pycharm-ce ? ? #-ce 表示免費的 community 版本

等安裝結(jié)束之后,可以嘗試直接在 Spotlight 呼出 PyCharm萝映。

當(dāng)然也可以按傳統(tǒng)安裝軟件的方式吴叶,去 PyCharm 下載頁面 (https://www.jetbrains.com/pycharm/download/#section=mac),下載 Community 免費版本序臂,再拖到Applications目錄去……


? ? 體驗 PyCharm

接下來打開 PyCharm蚌卤,需要設(shè)置一下,基本都可以按默認設(shè)置點到最后奥秆。PyCharm 的主窗口出現(xiàn)后逊彭,左側(cè)已經(jīng)初始化了一個名叫 untitled 的 project,可以右鍵點擊該名稱 New > Python File 換個名字(比如 MyFirstPythonProject)构订。

再次右鍵點擊該 project 的名稱侮叮,選擇 New > Python File,在這個 project 目錄名下新建一個 Python File鲫咽,再取個名 test.py(注意:因為已經(jīng)選擇了新建 Python File,所以在這兒不需要加 .py 的擴展名)谷异。

現(xiàn)在分尸,在空白的 test.py 編輯區(qū)打下我們已經(jīng)很熟悉的第一行 Python 代碼吧:

print "Hello World" ? ? ? ?#python 2.7

print("Hello World") ? ? ?#python 3.6

PyCharm 會自動保存所有改動,所以不需要再手動敲保存鍵歹嘹。

你可能已經(jīng)注意到 PyCharm 自動把輸入的代碼變成了彩色——其實 PyCharm 還會幫你自動縮進箩绍、自動補全固定表達、自動檢查語法錯誤……就像智能輸入法尺上!雖然特別便捷材蛛,但對于新手來說,弊端很明顯:你本很可能犯錯的地方都被提前預(yù)防了怎抛,這其實是在躲避你應(yīng)掌握的編程知識卑吭。如果突然切換到普通文本編輯器或者命令行甚至手寫代碼時,新手才會發(fā)現(xiàn)马绝,原來沒了“智能輸入法”的輔助豆赏,自己連基本語法也不能100%寫對。


來看一下運行結(jié)果:點擊 ??R 會看到一個小窗口跳出來,讓你選擇要運行哪個文件(此時只有 test 可以選擇)掷邦,選中 test 后白胀,就會在 PyCharm 窗口下方看到運行結(jié)果啦!


第1節(jié) - 作業(yè):

? ? 熟練本節(jié)的知識點和操作抚岗;

? ? 熟練 Terminal / Mac 的基本快捷操作或杠,最好打印下來貼起來,每天都背幾行宣蔚;

? ? 思考:三種不同的 Python 編程方式有什么區(qū)別與優(yōu)勢呢向抢?


第1節(jié) - 小結(jié):

我們了解了基本的命令行操作,安裝了一些工程師的必備工具;

我們還嘗試了三種不同的 Python 編程方式:命令行的交互模式件已,用文本編輯器與命令行配合笋额,還有在 IDE 中編程;

雖然小白肯定會對很多細節(jié)半知不解篷扩,但慢慢來兄猩,以后都會掌握的。


謝謝你的閱讀鉴未!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末枢冤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子铜秆,更是在濱河造成了極大的恐慌淹真,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件连茧,死亡現(xiàn)場離奇詭異核蘸,居然都是意外死亡,警方通過查閱死者的電腦和手機啸驯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門客扎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人罚斗,你說我怎么就攤上這事徙鱼。” “怎么了针姿?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵袱吆,是天一觀的道長。 經(jīng)常有香客問我距淫,道長绞绒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任榕暇,我火速辦了婚禮处铛,結(jié)果婚禮上饲趋,老公的妹妹穿的比我還像新娘。我一直安慰自己撤蟆,他們只是感情好奕塑,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著家肯,像睡著了一般龄砰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上讨衣,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天换棚,我揣著相機與錄音,去河邊找鬼反镇。 笑死固蚤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的歹茶。 我是一名探鬼主播夕玩,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼惊豺!你這毒婦竟也來了燎孟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤尸昧,失蹤者是張志新(化名)和其女友劉穎揩页,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體烹俗,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡爆侣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了幢妄。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兔仰。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖磁浇,靈堂內(nèi)的尸體忽然破棺而出斋陪,到底是詐尸還是另有隱情朽褪,我是刑警寧澤置吓,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站缔赠,受9級特大地震影響衍锚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜嗤堰,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一戴质、第九天 我趴在偏房一處隱蔽的房頂上張望度宦。 院中可真熱鬧,春花似錦告匠、人聲如沸戈抄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽划鸽。三九已至,卻和暖如春戚哎,著一層夾襖步出監(jiān)牢的瞬間裸诽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工型凳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留丈冬,地道東北人。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓甘畅,卻偏偏與公主長得像埂蕊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子橄浓,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容