1. 程式人生 > 其它 >Python全棧開發之路 Day 03

Python全棧開發之路 Day 03

Python基礎

一、程式語言分類

1.1 機器語言

計算機能夠理解的語言只有二進位制語言也就是0/1組成的各種程式碼,此語言是最低階的語言,也是執行最快、跨平臺性最好的語言,但開發效率極低。

#指令部份的示例
    0000 代表 載入(LOAD)
    0001 代表 儲存(STORE)

#暫存器部份的示例
    0000 代表暫存器 A
    0001 代表暫存器 B
#整合示例
    0000,0000,000000010000 代表 LOAD A, 16
    0000,0001,000000000001 代表 LOAD B, 1
    0001,0001,000000010000 代表 STORE B, 16
    0001,0001,000000000001 代表 STORE B, 1[1]

1.2 組合語言

組合語言僅僅是用一個英文標籤代表一組二進位制指令,毫無疑問,比起機器語言,組合語言是一種進步,但組合語言的本質仍然是直接操作硬體,因此組合語言仍是比較低階/底層的語言、貼近計算機硬體。

彙編的hello world,列印一句hello world, 需要寫十多行,如下

; hello.asm 
section .data            ; 資料段宣告
        msg db "Hello, world!", 0xA     ; 要輸出的字串
        len equ $ - msg                 ; 字串長度
        section .text            ; 程式碼段宣告
        global _start            ; 指定入口函式
        _start:                  ; 在螢幕上顯示一個字串
        mov edx, len     ; 引數三:字串長度
        mov ecx, msg     ; 引數二:要顯示的字串
        mov ebx, 1       ; 引數一:檔案描述符(stdout) 
        mov eax, 4       ; 系統呼叫號(sys_write) 
        int 0x80         ; 呼叫核心功能
                         ; 退出程式
        mov ebx, 0       ; 引數一:退出程式碼
        mov eax, 1       ; 系統呼叫號(sys_exit) 
        int 0x80         ; 呼叫核心功能

1.3 高階語言

1.編譯型(如C語言)

編譯型語言需要一個翻譯程式,在人類用人類語言按一定格式寫完程式碼執行前,這個翻譯程式會把程式碼全部翻譯成二進位制語言,然後再交給計算機執行。這樣做,損失了一些執行速度(但執行效率依然很高)與跨平臺性,但較於低階語言大大提高了開發效率(但由於應用程式一旦需要修改,必須先修改原始碼,然後重新編譯、生成新的目標檔案才能執行,而在只有目標檔案而沒有原始碼,修改會很不方便。所以開發效率低於解釋型)。

2.解釋型(如python)

解釋型語言和編譯型語言不同的地方在於,編譯型語言先全部翻譯再執行,而解釋型語言邊翻譯邊執行。這樣做,較編譯型語言提高了跨平臺性、開發效率與可維護性,但犧牲了一些執行速度(其實遠遠小於IO延遲,所以沒有啥影響)

二、Python介紹

談及python,涉及兩層意思,一層代表的是python這門語言的語法風格,另外一層代表的則是專門用來解釋該語法風格的應用程式:python直譯器。

​ python的創始人為吉多·範羅蘇姆(Guido van Rossum)。Python這個名字,來自Guido所摯愛的電視劇Monty Python’s Flying Circus,他希望這個新的叫做Python的語言,能符合他的理想:創造一種C和shell之間,語法能夠像shell一樣簡潔,易學易用、可拓展性強,同時兼顧C的強大功能。於是Guido在1989年的聖誕節期間,開始編寫能夠解釋Python語言語法的直譯器。

​ Python崇尚優美、清晰、簡單,是一個優秀並廣泛使用的語言。最新的TIOBE排行榜tiobe.com/tiobe-index/,Python已飆升至世界第三。

​ Python可以應用於眾多領域,如:人工智慧、資料分析、爬蟲、金融量化、雲端計算、WEB開發、自動化運維/測試、遊戲開發、網路服務、影象處理等眾多領域。目前業內幾乎所有大中型網際網路企業都在使用Python,如:Youtube、Dropbox、BT、Quora(中國知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、騰訊、汽車之家、美團等。

三、安裝Python直譯器

3.1直譯器型別

CPython

它是python領域效能最好,應用最廣泛的一款直譯器,我們在後面提到的直譯器指的都是Cpython直譯器。

Jython
JPython直譯器是用JAVA編寫的python直譯器,可以直接把Python程式碼編譯成Java位元組碼並執行,它不但使基於java的專案之上嵌入python指令碼成為可能,同時也可以將java程式引入到python程式之中。

Python
IPython是基於CPython之上的一個互動式直譯器,也就是說,IPython只是在互動方式上有所增強,但是執行Python程式碼的功能和CPython是完全一樣的。這就好比很多國產瀏覽器雖然外觀不同,但核心其實都是呼叫了IE。
CPython用>>>作為提示符,而IPython用In [序號]:作為提示符。

PyPy
PyPy是Python開發者為了更好地Hack Python而用Python語言實現的Python直譯器。PyPy提供了JIT編譯器和沙盒功能,對Python程式碼進行動態編譯(注意不是解釋),因此執行速度比CPython還要快。

IronPython
IronPython和Jython類似,只不過IronPython是執行在微軟.Net平臺上的Python直譯器,可以直接把Python程式碼編譯成.Net的位元組碼。

3.2 安裝CPython直譯器

開啟官網python.org

點選download按鈕

選擇合適的作業系統

選擇最近的版本下載或尋找歷史版本

下載,點選安裝程式,注意勾選下圖選項

完成安裝

3.3 確認安裝成功

windows --> 執行 --> 輸入cmd ,然後回車,彈出cmd程式,輸入python,如果能進入互動環境 ,代表安裝成功。

四、第一個Python程式

在3.3中的CMD介面中輸入下面的程式碼,回車,觀察執行結果

print('hello world !')

五、整合開發環境的安裝(推薦使用Pycharm)

下載網址:https://www.jetbrains.com/pycharm/download/ 最好選擇專業版下載(正版需付費,沒錢的辦法:https://www.bilibili.com/read/cv10060170/)

安裝完成後註冊,然後啟動,會讓你先建立一個專案,其實就是一個資料夾,我們以後的程式碼都存在這裡面。

建立一個資料夾,方便管理檔案

建立py檔案test.py

在test.py中寫程式碼,輸入關鍵字的開頭可以用tab鍵補全後續,並且會有程式碼的錯誤提示

六、註釋

單行註釋用#
多行註釋用'''    '''
#註釋是很重要的,它可以解釋程式碼,讓別人看到你的程式碼時候能夠理解你的思路,所以,寫程式碼一定要加註釋