Python学海无涯路【第01回】初始Python
目錄
- 1、Python簡介
- 1.1、Python的作者
- 1.2、Python的應用領域
- 1.3、Python的分類
- 1.3.1、Cpython
- 1.3.2、Jyhton
- 1.3.3、IronPython
- 1.3.4、 PyPy(特殊)
- 1.3.4、其它
- 1.4、Python2和Python3
- 2、編碼
- 2.1、ASCII
- 2.2、Unicode
- 2.3、utf-8
- 2.4、GBK和GB2312
- 2.5、UTF-8和GBK的轉(zhuǎn)換
- 2.5、encode和decode
- 2.6、Python使用的編碼
- 2.7、Python源文件開頭
- 3、注釋
1、Python簡介
1.1、Python的作者
python的創(chuàng)始人為吉多·范羅蘇姆(Guido van Rossum)。1989年的圣誕節(jié)期間,吉多·范羅蘇姆為了在阿姆斯特丹打發(fā)時間,決心開發(fā)一個新的腳本解釋程序,作為ABC語言的一種繼承。
1.2、Python的應用領域
Python可以應用于眾多領域,如:數(shù)據(jù)分析、組件集成、網(wǎng)絡服務、圖像處理、數(shù)值計算和科學計算等眾多領域。目前業(yè)內(nèi)幾乎所有大中型互聯(lián)網(wǎng)企業(yè)都在使用Python,如:Youtube、Dropbox、BT、Quora(中國知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、騰訊、汽車之家、美團等。互聯(lián)網(wǎng)公司廣泛使用Python來做的事一般有:自動化運維、自動化測試、大數(shù)據(jù)分析、爬蟲、Web 等。
1.3、Python的分類
1.3.1、Cpython
Python的官方版本,使用C語言實現(xiàn),使用最為廣泛,CPython實現(xiàn)會將源文件(py文件)轉(zhuǎn)換成字節(jié)碼文件(pyc文件),然后運行在Python虛擬機上。
1.3.2、Jyhton
Python的Java實現(xiàn),Jython會將Python代碼動態(tài)編譯成Java字節(jié)碼,然后在JVM上運行。
1.3.3、IronPython
Python的C#實現(xiàn),IronPython將Python代碼編譯成C#字節(jié)碼,然后在CLR上運行。(與Jython類似)
1.3.4、 PyPy(特殊)
Python實現(xiàn)的Python,將Python的字節(jié)碼字節(jié)碼再編譯成機器碼。
1.3.4、其它
Python還有RubyPython、Brython ...等多個版本
1.4、Python2和Python3
語法上Python3并不完全兼容Python2,Python 2里面的相當部分語法在Python 3中已經(jīng)被棄用,也就是說Python3并不能保證完全運行Python2的語法寫出來的程序,這點和其他語言相比差異比較大。
有種說法是Python2正在逐步的向Python3改變,慢慢的最終向Python3的語法無限接近,有個故事叫溫水煮青蛙,大概可以在這里形容下這件事。
2、編碼
2.1、ASCII
ASCII(American Standard Code for Information Interchange,美國標準信息交換代碼)是基于拉丁字母的一套電腦編碼系統(tǒng),主要用于顯示現(xiàn)代英語和其他西歐語言,其最多只能用 8 位來表示(一個字節(jié)),即:2**8 = 256,所以,ASCII碼最多只能表示 256 個符號。
2.2、Unicode
Unicode(統(tǒng)一碼、萬國碼、單一碼)是一種在計算機上使用的字符編碼。Unicode 是為了解決傳統(tǒng)的字符編碼方案的局限而產(chǎn)生的,它為每種語言中的每個字符設定了統(tǒng)一并且唯一的二進制編碼,規(guī)定雖有的字符和符號最少由 16 位來表示(2個字節(jié)),即:2 **16 = 65536,
注:此處說的的是最少2個字節(jié),可能更多
Unicode是一個以’U+’字符開頭,后面跟著4位或者5位或者6位十六進制數(shù)字
2.3、utf-8
UTF-8,是對Unicode編碼的壓縮和優(yōu)化,他不再使用最少使用2個字節(jié),而是將所有的字符和符號進行分類:ascii碼中的內(nèi)容用1個字節(jié)保存、歐洲的字符用2個字節(jié)保存,東亞的字符用3個字節(jié)保存...
UTF-8用三個字節(jié)表示中文。
單字節(jié)的ASCII碼字符仍然映射的是單字節(jié),而且ASCII編碼方式是UTF-8的子集
2.4、GBK和GB2312
GBK和GB2312是專門為中國人設計的編碼,這兩種編碼中漢字占兩個字節(jié)。
2.5、UTF-8和GBK的轉(zhuǎn)換
一個漢字,utf-8要用三個字節(jié)表示,gbk用2個字節(jié)表示。
utf-8和gbk之間不能直接轉(zhuǎn)換,只能通過Unicode轉(zhuǎn)換,如下圖所示:
2.5、encode和decode
UTF-8或者ASCII碼不過是對應從Unicode到字節(jié)的映射方式,既然有映射方式,那么就有映射方向。我們把從Unicode到字節(jié)碼(byte string)稱之為encode,把從字節(jié)碼(byte string)到Unicode碼稱之為decode 。
2.6、Python使用的編碼
Python2解釋器默認以ASCII編碼去解釋py程序,如果py程序中只含英文,程序執(zhí)行不受影響,如果含有中文,Python2將無法執(zhí)行。
所以用Python2解釋器時,程序里需加上下面一句代碼,告訴Python2解釋時要按照UTF-8的編碼去解釋。
# -*- coding:utf8 -*-Python3無此限制,Python3默認用utf-8。
2.7、Python源文件開頭
#!/usr/bin/env python #-*- coding: utf-8 -*-第一行注釋事為了告訴Linux/OS X系統(tǒng),這是一個Python可執(zhí)行程序,Windows系統(tǒng)會忽略這個注釋;
第二行注釋市為了告訴Python解釋器,按照UTF-8編碼讀取源代碼,否則,在源代碼中寫的中文輸出可能會有亂碼
3、注釋
單行注視:# 被注釋內(nèi)容
多行注釋:""" 被注釋內(nèi)容 “”"
總結(jié)
以上是生活随笔為你收集整理的Python学海无涯路【第01回】初始Python的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云原生系列二【Kubernetes】Ku
- 下一篇: 程序员不得不学的操作系统知识(一)