這是我面向小白寫的 Python 編程教程的第一篇。周三已經抓勺子同學上完了這節課,得到了很多珍貴反饋,于是我把講義初版又修改了一遍,放到?影子練習SinanTalk?上來。
原本有想法招募一個??給小白的工程師入門 - 從Python開始??的在線學習實驗小班,不為賺錢,只是想實踐下自己的編程教學思路。但后來和勺子討論過后,我也同意我的設想太過苛刻——我想找到?大概率可以堅持學習 Python 編程一年及以上 / 有長期 (指一年以上) 目標 / 但無短期急功近利想法?的同行小伙伴們。我明白人群中一定存在著這樣的人,可我的個人影響力尚小,也無太多精力可以用在這件“不務正業”的事上。于是,就決定只對勺子同學一對一授課,把每次修改過的講義發到這兒來,供更多有心的讀者參考。
如果你認可這篇教程的價值,歡迎點贊、分享給更多人!有看不懂的地方也可以留言或者加我的個人微信(LynnTang_)問詢。越多關注,作者就越多動力及時更新吶???
? ? ? ? ? ? ? ?? 寫給小白的工程師入門 - 從 Python 開始
macOS 版本
因為簡書編輯頁面代碼不友好,沒有代碼塊格式,所以我都用引用格式代替。產生混淆的地方請讀者到原文鏈接查看完美編輯版 :P
第1節 ?基本開發環境設置
a. 學會使用基本命令行
? ?? 命令行的基本設置
在鍵盤上點擊 ?Space ,用 Spotlight 呼出 Terminal。
一開始對于 Terminal 這個東西理解困難的讀者,可以把它想象成一個殼(shell),在這個殼里,你可以寫命令(command),這些命令直接發給電腦,電腦收到特定命令會執行特定行為,比如打開或編輯某個文檔。
——那為什么不直接去雙擊那個文檔的圖標來打開呢?
因為用命令行(command-line)快很多!編輯一個文本或許看不出效率的差異,但要想編輯一百個文本的話,一個個地去用鼠標雙擊打開再編輯保存關閉……是很累的。但使用命令行的話,不管是一個還是一百個,所用時間和需要的操作都差不多。工程師是很懶的人,能逃掉重復步驟的地方就想方設法地要逃掉。
最后,Terminal 只是承載了這個殼(命令行工具)的 APP 的名字。你還可以像我一樣下載其他類似的 APP,比如程序員都愛用的 iTerm (https://www.iterm2.com) , 功能更加強大。
愿意通過提高 Terminal 的外觀來提高工作效率和愉悅程度的人,應該選擇給 Terminal ?換個皮膚:
我用的是這個:? Spacegray (https://github.com/wtanna/Spacegray-OSX-Terminal-Theme)
再換個字體。其實字體很重要,除審美和健康需求外,好的字體還可以提高工程師的工作效率。
選擇字體的基本原則是“等寬”。等寬字體(如 Courier New)對中文友好,可以輕易辨識出“全角/半角”字符。
除此之外,是否能清楚區分易混淆的字符也是選擇字體的重要因素。
常見易混淆字符:
數字0 ?vs ?字母O
數字1 ?vs ?大寫字母I ?vs 小寫字母l ?vs ?運算符|
數字9 ?vs ?字母q
分號; ?vs ?冒號:
……
我用的是 Courier New。
順便把字號設置得大一點,具體多大視自己電腦屏幕尺寸而定——順便提一句,有研究表明,電腦屏幕越大,人的效率就越高。所以,一塊兒大屏幕還是很值得投資的。
設置 Terminal 的字體字號可以在 Preferences > Profiles > spacegray > Text > Font 中找到。
? ? 查看是否已經安裝 Python,以及 Python 版本(mac/ Linux 已內置 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 的網絡學習資料更多,但直接從 Python 3.6 開始后面就不用再適應不同版本之間的差別了(當然,以后還有會 Python 4,5……)。
? ??安裝最新版 Python 3.6
兩種方法,第一種直接從命令行安裝(看起來更像工程師),依次復制粘貼以下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
# 及后面的內容為備注(同一行內),不需要粘貼入 Termimal(寫了也會被忽略)。
小白肯定看不懂大部分指令的含義,不過此時不需要深究,先把目的達到再說,以后會慢慢明白的。
第二種安裝方法即傳統安裝,去 Python 官網下載頁 (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
當看到光標出現在 >>> 之后,就可以輸入你的第一行 Python 代碼啦!
print?"Hello World" ? ? ?#python 2.7
print("Hello World") ? #python 3.6
# 及后面的內容為備注(同一行內),會被 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
或者也可以按傳統方式安裝,去 Atom 官網 (https://atom.io) 下載,打開后拖到Applications目錄去。
? ?? 體驗 Atom?
有了 Atom 后,可以通過 Spotlight 打開一個 Atom 空白文檔,打上我們之前已經見過的第一行 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 復制該文件,再 ?V 粘貼到 Terminal,就能看到該文件的路徑了。)
此時若在 Terminal 里看到?Hello World?就說明操作成功啦!
c. 認識 IDE:安裝使用 PyCharm
Integrated Development Environment (IDE),中文為集成開發環境,可以理解成集合了以上我們使用的文本編輯器、命令行工具與文件管理的開發軟件。與單純使用文本編輯器或命令行相比,IDE 更“有條理”,輔助工具更多,也更好上手編程。
讓我們用通過一個主流的 Python IDE - PyCharm 來體驗下 IDE 吧。
在 Terminal 里輸入:
brew cask install pycharm-ce ? ? #-ce 表示免費的 community 版本
等安裝結束之后,可以嘗試直接在 Spotlight 呼出 PyCharm。
當然也可以按傳統安裝軟件的方式,去 PyCharm 下載頁面 (https://www.jetbrains.com/pycharm/download/#section=mac),下載 Community 免費版本,再拖到Applications目錄去……
? ? 體驗 PyCharm
接下來打開 PyCharm,需要設置一下,基本都可以按默認設置點到最后。PyCharm 的主窗口出現后,左側已經初始化了一個名叫 untitled 的 project,可以右鍵點擊該名稱 New > Python File 換個名字(比如 MyFirstPythonProject)。
再次右鍵點擊該 project 的名稱,選擇 New > Python File,在這個 project 目錄名下新建一個 Python File,再取個名 test.py(注意:因為已經選擇了新建 Python File,所以在這兒不需要加 .py 的擴展名)。
現在,在空白的 test.py 編輯區打下我們已經很熟悉的第一行 Python 代碼吧:
print "Hello World" ? ? ? ?#python 2.7
print("Hello World") ? ? ?#python 3.6
PyCharm 會自動保存所有改動,所以不需要再手動敲保存鍵。
你可能已經注意到 PyCharm 自動把輸入的代碼變成了彩色——其實 PyCharm 還會幫你自動縮進、自動補全固定表達、自動檢查語法錯誤……就像智能輸入法!雖然特別便捷,但對于新手來說,弊端很明顯:你本很可能犯錯的地方都被提前預防了,這其實是在躲避你應掌握的編程知識。如果突然切換到普通文本編輯器或者命令行甚至手寫代碼時,新手才會發現,原來沒了“智能輸入法”的輔助,自己連基本語法也不能100%寫對。
來看一下運行結果:點擊 ??R 會看到一個小窗口跳出來,讓你選擇要運行哪個文件(此時只有 test 可以選擇),選中 test 后,就會在 PyCharm 窗口下方看到運行結果啦!
第1節 - 作業:
? ? 熟練本節的知識點和操作;
? ? 熟練 Terminal / Mac 的基本快捷操作,最好打印下來貼起來,每天都背幾行;
? ? 思考:三種不同的 Python 編程方式有什么區別與優勢呢?
第1節 - 小結:
我們了解了基本的命令行操作,安裝了一些工程師的必備工具;
我們還嘗試了三種不同的 Python 編程方式:命令行的交互模式,用文本編輯器與命令行配合,還有在 IDE 中編程;
雖然小白肯定會對很多細節半知不解,但慢慢來,以后都會掌握的。