程序語言的發展php
機器語言html
程序語言,最初的計算機語言是機器語言,徹底是0和1組成的二進制串java
如:01010101python
11010101linux
彙編語言c#
由於01010101的字符串,冗長,不利於維護,因此產生了帶助記符的彙編語言windows
舉例:fua = 01010101網絡
fub = 11010101運維
c語言python2.7
在彙編的基礎上開發了c語言
有了常量,變量,字符串,等運算規則
java、c#、php、python
在c語言的基礎長有發展了java、c#、php、python 等各類語言
這些語言都須要安裝運行環境,也能夠理解成軟件,
Python前世此生
python的創始人爲吉多·範羅蘇姆(Guido van Rossum)。1989年的聖誕節期間,吉多·範羅蘇姆爲了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程序,做爲ABC語言的一種繼承。
Python能夠應用於衆多領域,如:數據分析、組件集成、網絡服務、圖像處理、數值計算和科學計算等衆多領域。目前業內幾乎全部大中型互聯網企業都在使用Python,如:Youtube、Dropbox、BT、Quora(中國知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、騰訊、汽車之家、美團等。互聯網公司普遍使用Python來作的事通常有:自動化運維、自動化測試、大數據分析、爬蟲、Web 等。
注視:上述重點字體表示該公司主要使用Python語言開發
爲何是Python而不是其餘語言?
C 和 Python、Java、C#等
C語言: 代碼編譯獲得 機器碼 ,機器碼在處理器上直接執行,每一條指令控制CPU工做
其餘語言: 代碼編譯獲得 字節碼 ,虛擬機執行字節碼並轉換成機器碼再後在處理器上執行
Python 和 C Python這門語言是由C開發而來
對於使用:Python的類庫齊全而且使用簡潔,若是要實現一樣的功能,Python 10行代碼能夠解決,C可能就須要100行甚至更多.
對於速度:Python的運行速度相較與C,絕逼是慢了
Python 和 Java、C#等
對於使用:Linux原裝Python,其餘語言沒有;以上幾門語言都有很是豐富的類庫支持
對於速度:Python在速度上可能稍顯遜色
因此,Python和其餘語言沒有什麼本質區別,其餘區別在於:擅長某領域、人才豐富、先入爲主。
Python的種類
以上除PyPy以外,其餘的Python的對應關係和執行流程以下:
安裝Python
windows:
一、下載安裝包 https://www.python.org/downloads/
二、安裝 默認安裝路徑:C:\python27
三、配置環境變量 【右鍵計算機】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變量】--》【在第二個內容框中找到 變量名爲Path 的一行,雙擊】 --> 【Python安裝目錄追加到變值值中,用 ; 分割】 如:原來的值;C:\python27,切記前面有分號
linux:
無需安裝,原裝Python環境 ps:若是自帶2.6,請更新至2.7 更新Python
windows:
卸載重裝便可
linux:
Linux的yum依賴自帶Python,爲防止錯誤,此處更新其實就是再安裝一個Python
查看默認Python版本 python -V
一、安裝gcc,用於編譯Python源碼 yum install gcc
二、下載源碼包,https://www.python.org/ftp/python/
三、解壓並進入源碼文件
四、編譯安裝 ./configure make all make install
五、查看版本 /usr/local/bin/python2.7 -V
六、修改默認Python版本 mv /usr/bin/python /usr/bin/python2.6 ln -s /usr/local/bin/python2.7 /usr/bin/python
七、防止yum執行異常,修改yum使用的Python版本 vi /usr/bin/yum 將頭部 #!/usr/bin/python 修改成 #!/usr/bin/python2.6
Python入門
Python的運行方式
終端運行方式:
打開Python終端,輸入print "ni hao"
>>> print "ni hao" 回車
ni hao
這樣就將ni hao打印出來了
文件運行方式:
用編輯器將 print "ni hao" 寫入編輯器,保存成Python文件,以.py 後綴方式保存
打開終端不啓動Python 輸入Python 文件路徑 如:I:\py\1\n.py 回車執行
這樣就執行了n.py並把文件內容讀出來了
二者之間的區別,終端執行是執行一次關閉終端後不保留代碼,文件執行是能夠屢次執行,而且代碼寫入了.py文件裏
注意:Python2.7和3.5的函數區別 如:print函數
2.7 print "ni hao"
3.5 print ("ni hao")
兩個版本之間在函數的書寫格式上,3.5必須加括號() 2.7 能夠加括號() 也能夠不加
Python解釋器
能夠理解爲解釋代碼或者代碼文件的軟件
上面能夠看到咱們在終端裏輸入了 Python I:\py\1\n.py 這樣就是說告訴了系統用Python解釋器,解釋I:\py\1\n.py這個文件
若是想要訪問文件時自動執行python解釋器,例輸入: ./n.py ,那麼就須要在 n.py文件的頭部指定解釋器
若是須要解釋器自動執行一種字符編碼方式解釋,也須要在頭部指定字符編碼
如
這樣當系統訪問文件時,就告訴了系統,我這個文件須要Python解釋器解釋 而且以utf-8的編碼
假如這個文件在根目錄下,如此一來,執行: ./n.py 便可。
注意:執行前需給予 n.py 執行權限,chmod 755 n.py
內容編碼
字符編碼的發展
ascii (只能識別英文)
8位 = 01010101 2**8(2的8次方)= 256 種組合就能夠表示全部的英文,字符,數字
也就是1個字節就能表示全部的英文,字符,數字
可是不能表示其餘國家語言如中文
萬國碼 unicode (包含任何國家語言)
最少用2個字節來表示:
1個字節 = 8位 = 01010101
2個字節 = 16位 = 0101010101010101 2個字節就是 2**16(2的16次方)= 65536 種組合
也就是說萬國碼最少也要用兩個字節來表示
中文是用3個字節來表示的
3個字節 = 24位 = 010101010101010101010101 3個字節就是 2**24(2的24次方)= 16777216 種組合
utf-8
有了萬國碼後人們又發現,形成了運算空間的浪費,明明能夠用1個字節表示的也用了2個字節來表示,後來就又發明了utf-8
utf-8 是在萬國碼的基礎上進行了加工
也就是utf-8會自動根據地區語言來判斷用多少位識別
英文:8位
歐洲:16位
中文:24位
...
因此咱們在寫Python文件是要是有中文漢字,就須要告訴解釋器用什麼編碼
如:
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 print '你好 中國'
若是是Python3.5版本解釋器,就能夠不加編碼,由於默認就是utf-8編碼
也就是說,解釋器默認是utf-8就能夠不加,若是默認不是utf-8就必須加才能識別中文
編碼和解碼
編碼和解碼流程圖
utf-8或者gbk等編碼都是,由萬國碼編碼而來的這個過程叫作(編碼),將utf-8在還原成萬國碼這個過程叫作(解碼)
在python中能夠將某一段字符進行編碼或者解碼
decode() 函數 爲解碼 函數值:爲要解碼的編碼(本來編碼)
使用方法:要解碼的字符串變量.decode(要解碼的編碼)
如:jiem = zifu.decode("utf-8")
encode() 函數 爲編碼 函數值:爲要編的碼(編碼)
使用方法:要編碼的解碼變量.decode(要編的碼)
舉例:
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 zifu = "中文字符" 4 #解碼,須要指定原來的是什麼編碼 5 jiem = zifu.decode("utf-8") 6 #編碼,須要指定要使用什麼編碼 7 bianm = jiem.encode("gbk") 8 print(bianm)
注意:若是是python3.5或者以上版本,能夠省略解碼的環境,直接第二步從新編碼就能夠,也就是能夠直接將utf-8直接編碼成gbk,(解碼的過程解釋器會自動完成)