一、 編程語言介紹
1.1 機器語言
- 直接用計算機能理解的二進制指令編寫程序,直接控制硬件
1.2 彙編語言
- 用英文標籤取代二進制指令取編寫程序,本質也是在直接控制硬件
1.3 高級語言
- 用人能理解的表達方式去編寫程序,無需考慮硬件的操作細節
- 編譯型:類似於谷歌翻譯,運行編譯型語言是相對於解釋型語言存在的,編譯型語言的首先將源代碼編譯生成機器語言,再由機器運行機器碼(二進制)。程序在執行之前需要一個專門的編譯過程,把程序編譯成爲機器語言的文件,運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執行效率高,依賴編譯器,跨平臺性差些。如C、C++、Delphi等都是編譯型語言。
- 解釋型:類似於同聲傳譯,相對於編譯型語言存在的,源代碼不是直接翻譯成機器語言,而是先翻譯成中間代碼,再由解釋器對中間代碼進行解釋運行。程序不需要編譯,程序在運行時才翻譯成機器語言,每執行一次都要翻譯一次,因此效率比較低,依賴解釋器,跨平臺性好。比Python/JavaScript / Perl /Shell等都是解釋型語言。
1.4 不同語言的比較
- 執行效率:機器語言 > 彙編語言 > 高級語言(編譯型 > 解釋型)
- 開發效率:機器語言 < 彙編語言 < 高級語言(編譯型 < 解釋型)
- 跨平臺性:機器語言 < 彙編語言 < 高級語言(編譯型 < 解釋型)
二、 Python解釋器介紹
當我們編寫Python代碼時,我們得到的是一個包含Python代碼的以.py爲擴展名的文本文件。要運行代碼,就需要Python解釋器去執行.py文件
Python解釋器的種類
- CPython:由C語言開發,是使用最廣的Python解釋器。
- IPython:基於CPython之上的一個交互式解釋器,在交互方式上有所增強,但是執行Python代碼的功能和CPython是完全一樣的。
- PyPy:PyPy是另一個Python解釋器,它的目標是執行速度。PyPy採用JIT技術,對Python代碼進行動態編譯(注意不是解釋),所以可以顯著提高Python代碼的執行速度。
- Jython:Jython是運行在Java平臺上的Python解釋器,可以直接把Python代碼編譯成Java字節碼執行。
- IronPython:IronPython和Jython類似,只不過IronPython是運行在微軟.Net平臺上的Python解釋器,可以直接把Python代碼編譯成.Net的字節碼。
三、 安裝Python解釋器1
- 我們在Python官網下載的官方解釋器就是CPython。早在2008年Python3就推出,但由於其不向下兼容Python2,很多公司拒絕升級,時至今日,仍然有很多運行的項目由Python2寫成,所以多版本共存是我們當前必需的。下面我將介紹一下如何實現Python多版本共存。
- 博主是Windows操作系統,就以Windows版本Python2的安裝進行演示。
- 首先我們先進入Python官網,點擊Download根據你自己的電腦操作系統選擇相對應的Python版本下載。
點擊下載即可,下載完成後我們開始安裝。
Install for all users,所有用戶皆可使用,點擊Next。
默認安裝路徑是C盤,但是C盤一般是系統盤,所以我們安裝到D盤。
這裏 Add python.exe to Path 默認是關閉的,意爲將python.exe加入環境變量,這裏博主保持默認,以便在後面講解添加環境變量的方法,點擊Next。
這樣就Python2的解釋器就安裝完成,那我們該如何檢測有沒有安裝成功呢?Win鍵+R鍵,輸入cmd,進入控制檯,輸入指令D: 回車(進入D盤),cd D:\python27 回車(進入你解釋器的文件夾),python 回車。如果你出現下圖一樣的提示,恭喜你安裝成功。
這樣每一次進入python2的交互環境是不是很麻煩?這就要引申出環境變量這個問題,將安裝路徑加入環境變量,我們直接輸入你需要運行的程序(python2)就可進入交互界面。
右鍵 此電腦 ,找到 高級系統設置
單擊進入後找到環境變量 ,在系統變量中找到Path
雙擊進入編輯,將python2的安裝路徑加入,同時將pip的路徑加入(可安裝第三方庫),完成後一路確定即可。
這時我們直接輸入python就可進入交互。
至此,python2解釋器的安裝完美完成。那麼怎麼實現Python多版本的共存呢?首先我們要先安裝Python3解釋器,方法流程同Python2解釋器的安裝幾乎沒有差別,當然你可以在安裝時直接將其加入環境變量。安裝完成後,我們需要玩點小把戲,我們將Python27下的程序複製一個,重新命名爲python2,同理python37下的複製後命名爲python3。
之後進入控制檯分別輸入python2和python3,如果看到下圖,恭喜你多版本共存達成。
四、 執行Python程序的兩種方式
- 交互式:即時得到命令的執行結果,通常用來調試代碼
- 命令行:python3 文件路徑
注意:後綴名並不影響程序的執行,但是約定俗成是.py結尾
運行python程序經歷3個階段
- 先啓動python解釋器
- python解釋器將test.txt文件的內容當成文本內容讀入內存(此時的python解釋器就像是一個文本編輯器)
- python解釋器解釋執行剛剛讀入的內存代碼
五、 變量
- 什麼是變量
量指的是記錄事物的狀態。
變指的是事物的狀態是可以改變的。 - 爲何要用變量
爲了讓計算機具備人記憶事物狀態的技能 - 如何用變量
3.1 先定義
-
定義三大組成部分
變量名(標識符):變量名應該能反映出事物的屬性 賦值符=:把變量值綁定給變量名 變量值:就是事物的狀態
3.2 後引用
-
通過變量名引用值
-
變量名是訪問到值的唯一方式
3.3 變量名的命名
大前提:變量名應該見名知意
語法規定:1. 變量名由字母、數字、下劃線組成 2. 不能以數字開頭 3. 不能使用python的關鍵字['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
命名風格:
純小寫加下劃線(在python中,變量名的命名推薦使用該方式) age_of_oldboy=73 駝峯體(類命名推薦此方法) AgeOfOldboy=73
3.4 常量
- AGE_OF_OLDBOY=83 全部大寫
3.5 變量值具備兩種特徵
- id:是變量值在內存中的唯一標識(根據內存地址計算而來,內存地址不同則id不同,內存地址相同則id相同)
- type:不同類型的值用來記錄不同的狀態
3.6 內存管理
- 垃圾回收機制:引用計數
引用計數增加
age=18 ———— 18的引用計數爲1
x=age ———— 18的引用計數爲2
引用計數減少
del age ———— 18的引用計數減爲1
x = 10 ———— 18的引用計數減爲0,此時18被回收。
若沒有del age這一步,x = 10 ————18的引用計數減爲1,此時age = 18。
參考廖雪峯老師的文章。 ↩︎