上一節預告了這一章想講如何不停地和世界打招呼,這涉及到編程中一個重要的概念:循環。java
但通過了兩週斷更後細想了一下,不行,咱們得對上一章進行補充。python
咱們以爲學編程的時候不能太固化,得多學一些擴展性的東西,這樣有助於舉一反三。編程
因此就儘量多講當初阿菌本身學習編程的時候想了解的東西,好比這章會介紹一下咱們寫代碼和計算機運行代碼之間的關係。windows
上一集咱們講了如何下載python和編輯工具vscode。編程語言
安裝python很好理解,畢竟安裝了python,才能使用python;而編輯工具,你們能夠隨意選用。編輯器
當時阿菌學的時候,就不太瞭解上面那句,什麼叫「編輯工具能夠隨意用」?工具
沒有騙你們,當年呆頭呆腦的阿菌一直覺得,只有用老師指定的軟件,才能寫代碼......學習
這樣,咱們先從一個大的角度解釋一下咱們表面寫的python代碼,背後實際都是些什麼東西。操作系統
首先咱們要知道,寫代碼,就是讓電腦,按照咱們編寫的指令(軟件)去幹活。命令行
咱們的電腦,它由各類各樣的部件組成,好比內存呀,顯示器什麼的,這些東西,它們本身是不會工做的,咱們也須要寫指令(軟件)讓它們協同工做起來。
讓各類電腦部件協同工做起來的指令(軟件),咱們把它叫操做系統。
沒錯,操做系統也是一個軟件,只不過,它是一個很大型的軟件。想成爲世界首富麼?想的話能夠考慮學習蓋茨,開發一套像 Windows 這樣全世界都用的操做系統,當全世界人民都用你的操做系統時,就能當首富啦。
固然這只是開玩笑啦,畢竟不是每一個人都是天選之子。想要顛覆前輩創墊下的格局,得有兩把刷子,好比說像喬布斯老爺子,開發一套更炫酷的蘋果操做系統。
不過,你們必定要明白,編程語言的學習,和操做系統是無關的。
重要的概念要再說一遍哈,咱們只是編寫指令讓電腦爲咱們工做。好比說,咱們如今學習 python 語言,寫的是python 指令。不知道你們還記不記得,上一節課裏,咱們在正式學習python以前,是須要到 python 官網下載安裝 python 的(確切點說應該是安裝一個python解釋器),不知道你們有沒有思考過爲何要安裝這個東西?
想問題要多從反面想。若是不安裝 python 軟件(解釋器)會怎樣?
不安裝 python 直接面臨的問題是:咱們寫的 python 代碼,操做系統它看不懂。由於每一個操做系統的指令集都不同。
看不懂天然就沒辦法執行。
操做系統不執行,咱們的機器就不能響應咱們的指令。
因此咱們要去下載安裝一個對應本身操做系統的軟件包,這個軟件包裏面有 python 解釋器,它可以將咱們的 python 代碼,轉化成咱們對應操做系統能執行的代碼,這樣機器才能響應咱們的代碼。
如今你們明白,爲何咱們到官網下載軟件的時候,Windows 的下載 Windows 版本的安裝包,Mac 下載 Mac 版本的安裝包了吧?
停!確定有好奇寶寶會問:
爲啥咱們不直接寫機器能看懂的代碼呢?
你們能夠看看上面的圖,編程語言很好懂的,見名知意。好比print
是打印輸出的意思,咱們想要輸出Hello World
,直接調用print
就好了。而機器能看懂的語言,可就複雜多了,阿菌這裏給出的是彙編代碼,再深刻一點可就是 0101 的機器碼了,那個可不是咱們能手寫的。
回到正題,咱們下載了相應系統版本的安裝包,好比個人是 Mac 系統,這樣 Mac 版的 python 包就能把個人 python 代碼轉化成 Mac 操做系統對應的執行指令。這樣一來,個人 python 代碼就能控制個人 mac 系統了!
其餘操做系統也是同樣的道理。
估計會有好奇寶寶問:這個轉化的過程是怎麼樣的?
這貌似又能更新一個專題了,不過,這個可能會枯燥不少,這門課大概叫編譯原理。初學的話,建議你們先別深刻這個,要否則很快就勸退了,能夠考慮先跟着阿菌的教程,打點基礎,作點小項目,逐步培養信心,等基礎和知識面廣了以後,不少東西會輕鬆不少的。
好啦,如今你們知道咱們說的寫代碼是個什麼概念了,接下來回顧一下,咱們上一節寫的第一行代碼:
print("Hello world!")
對了,你們要記得寫代碼時必定要切換到英文模式寫,中文格式下的括號呀,雙引號呀什麼的是不能被識別的。
這行代碼的結構是怎樣的咱們先無論,上節課咱們演示的是,在 vscode 這個代碼編輯工具裏,點一下右上角的小播放號就能執行:
這個文件,當初我是保存在桌面一個叫python-study
的文件夾裏的,如今咱們回答這篇文章開頭提到的問題:
什麼叫「編輯工具」能夠隨意使用?
上一期裏,有小夥伴提出能夠不用 vscode
,使用別的工具。確實,有不少比 vscode
好用的工具,你們之後能夠隨心選擇。
阿菌當初時的這個疑惑,就是受限於:老師用了什麼軟件寫代碼,偶就用什麼軟件跟着敲,沒有搞明白本身究竟在作什麼東西。
當時指望的就是有人能講講上面的內容,這樣點一點就能把寫代碼和計算機的關係串起來了。
有了這些鋪墊以後,咱們嘗試進入咱們的工做目錄,也就是當初創建在桌面的文件夾python-study
,固然,這個文件夾的名字你們能夠隨便起(建議取英文名字,要否則之後有點點可能會在不留意的地方帶來一些小錯誤),本身記得就好啦。
咱們建立一個.txt
文件,取名叫helloworld2
,系統會默認給咱們建立一個帶.txt
後綴的文本文件(固然文件的名字也能夠隨便取,最好用英文哈):
而後咱們打開這個文件,在裏面寫入咱們向世界打招的代碼:hello world!
阿菌的教程用 Windows ,這樣羣衆基礎會更普遍一些。
寫完後記得ctrl + s
保存,而後再退出哈!
而後咱們回到python-study
目錄:
因爲咱們的文件夾裏面寫了字符,因此文件的大小再也不爲0了。
接下來咱們按F2,重命名文件,把helloworld2.txt
,改爲helloworld2.py
:
他會提示咱們可能會致使文件不可用,問咱們是否肯定更改,咱們點擊是。
這個小環節估計能有助於你們理解:什麼叫「編輯工具」能夠隨意使用?
Windows 建立的文本文件默認是 .txt
結尾的文件,這個能夠用Windows
自帶的文本編輯工具打開,這個文本編輯工具,也能夠是代碼編輯工具。
咱們只要有一個工具,提供一個窗口,讓咱們把咱們想寫的字符輸入到文件裏就好了。
至於文件末尾的後綴名,管他呢,咱們寫的是一個python
腳本,這個咱們本身知道就行,不須要管電腦的提示,是咱們讓電腦幹活。
而後咱們在電腦左下角的搜索框中搜索cmd
,打開命令提示符窗口(Mac
叫終端),咱們能夠經過這個黑窗口操做咱們的操做系統。
而後輸入指令cd Desktop
,輸入後按回車:
能夠看到,咱們光標前面的路徑多了一個Desktop
的標籤,意味着咱們進入了這個目錄。
而後,咱們輸入cd python-study
進入工做目錄:
接着,咱們輸入指令dir
,查看一下工做目錄下有哪些文件或文件夾(在以前的目錄中也能夠嘗試用cls
查看一下):
能夠看到咱們已經編輯好的兩個代碼文件,接下來咱們用 python 指令去運行咱們的 helloworld2.py
,咱們輸入python helloworld2.py
(一些操做細節請看視頻,mac 和 windows 通用的):
能夠看到咱們的 python 代碼被操做系統執行了,一樣向世界打了個招呼。
如今你們能明白,代碼文件,編輯工具,操做系統之間的關係了吧?
咱們回到 vscode,咱們剛剛不是向世界打過一次招呼了麼,vscode 下方也有一個命令行:
咱們不妨把上面的步驟再重複一遍,輸入指令cd Desktop/python-study
,cd 是進入某個文件夾的意思,咱們當前在liuyj
目錄,也就是阿菌本身的用戶根目錄下,你們能夠在根目錄下用dir
指令查看一下的,能看到 Desktop 這個表示桌面的目錄,而後再次執行helloworld2.py
:
一樣是向世界打了個招呼!
你們再留意一下上面那串很長的黃色字符,在第二節教程中,咱們點了vscode右上角的小播放號後,就執行了這行指令,這行指令的結構其實也是python xxx
只不過它把python執行文件具體在操做系統的那個位置全寫出來了。
確定會有好奇寶寶接着問:咦?爲何這個按鍵背後的指令要寫這麼仔細的路徑,而咱們只須要敲一個單詞python就能夠了呢?
這就涉及到一個知識點,叫環境變量。
咱們想要執行python腳本,須要找到C:/Users/liuyj/AppData/Local/Programs/Python/Python37/python.exe
這個可執行文件。
每次咱們輸入:python xxx
的時候,實際上系統會幫助咱們去磁盤上找到上面的可執行文件。
這個可執行文件的路徑,python在安裝時就幫咱們配好了。
想起當年學java的時候,第一步就是要配這個東西。
不知道小夥伴們會不會有一種衝動:或許我也能夠參照vscode寫一個最簡單的代碼編輯器呢!就一個框框,右上角加一個運行按鈕。
雖然實現起來會有不少複雜的細節,但咱們也不妨思考一下的,好比阿菌會這樣想:首先咱們得創造出一個窗口,這個窗口的實現不須要咱們寫的,不論是python仍是java,都有相應的圖形界面功能。因此,這個小功能的關鍵點在於運行按鈕。
或許能夠這樣:咱們先讀取系統變量的配置,而後得到python可執行文件的路徑,接着把編輯框的內容寫到一個python文件裏(若是是打開已有文件就不須要了),而後執行指令就能夠了。
好啦,第三章到這裏就結束啦,感謝你們的支持。