Python到底是什么?

python一天比一天火妨托,熱度也在不斷上升缸榛,很多人咨詢python的時(shí)候都覺得python是跟人工智能分不開關(guān)系的,的確如此兰伤,但是關(guān)于python更多的資料就很少有人知道了内颗,今天傳智播客就給大家說說python 到底是什么。

Python是一門解釋型敦腔、面向?qū)ο缶摹в袆?dòng)態(tài)語義的高級程序設(shè)計(jì)語言。

在于1989年符衔,由一位名叫Guido van Rossum(吉多.范羅蘇姆)找前,為打發(fā)時(shí)間設(shè)計(jì)了Python語言,第一個(gè)發(fā)行版公開于1991年判族。

Python是一款純粹的自由軟件躺盛,源代碼和解釋器CPython都遵循了GPL(GNU General Public License)協(xié)議。

Python語法清晰簡潔形帮,最有特色的是用空白符作為語句的縮進(jìn)槽惫。

Python具有強(qiáng)大而豐富的類庫周叮,也經(jīng)常被別人說是膠水語言,可以跟其它語言(c/c++)寫的模塊結(jié)合在一起界斜。常見的情況是使用Python快速生成程序的原型仿耽,然后有一部分需要有特別高的要求,需要其它語言改寫各薇。例如3D游戲中的圖形渲染需要用到C/C++編寫项贺,然后封裝成.py擴(kuò)展類庫由Python調(diào)用。需要注意的使用擴(kuò)展類型需要考慮跨平臺(tái)性得糜。

優(yōu)點(diǎn):

1.簡單:Python是一種代表簡單主義思想的語言敬扛。

2.易用:Python簡單容易上手,因?yàn)橛泻唵稳菀卓炊奈臋n朝抖。

3.速度快:運(yùn)行速度快啥箭,因?yàn)镻ython中的標(biāo)準(zhǔn)庫和第三方庫都是C語言編寫的,所以很快治宣。

4.免費(fèi)急侥、開源:Python是一款FLOSS(自由/源代碼軟件)之一,使用者可以自由地發(fā)布這個(gè)軟件的拷貝侮邀、閱讀它的源代碼坏怪、對它做改動(dòng)、把它的一部分用于新的自由軟件中绊茧。FLOSS是基于一個(gè)團(tuán)體分享知識(shí)的概念铝宵。

5.高層語言:用Python語言編寫程序的時(shí)候無需考慮諸如如何管理你的程序使用的內(nèi)存一類的底層細(xì)節(jié)。

6.可移植性:由于它的開源本質(zhì)华畏,Python已經(jīng)被移植在許多平臺(tái)上(經(jīng)過改動(dòng)使它能夠工作在不同平臺(tái)上)鹏秋。這些平臺(tái)包括Linux、Windows亡笑、 FreeBSD侣夷、Macintosh、Solaris仑乌、OS/2百拓、Amiga、AROS晰甚、AS/400衙传、BeOS、OS/390厕九、z/OS粪牲、Palm OS、QNX止剖、VMS腺阳、Psion落君、Acom RISC OS、VxWorks亭引、PlayStation绎速、Sharp Zaurus、Windows CE焙蚓、PocketPC纹冤、Symbian以及Google基于linux開發(fā)的android平臺(tái)。

7.解釋性:一個(gè)用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉(zhuǎn)換到一個(gè)你的計(jì)算機(jī)使用的語言(二進(jìn)制代碼购公,即0和1)萌京。這個(gè)過程通過編譯器和不同的標(biāo)記、選項(xiàng)完成宏浩。運(yùn)行程序的時(shí)候知残,連接/轉(zhuǎn)載器軟件把你的程序從硬盤復(fù)制到內(nèi)存中并且運(yùn)行。而Python語言寫的程序不需要編譯成二進(jìn)制代碼比庄。你可以直接從源代碼運(yùn)行 程序求妹。在計(jì)算機(jī)內(nèi)部,Python解釋器把源代碼轉(zhuǎn)換成稱為字節(jié)碼的中間形式佳窑,然后再把它翻譯成計(jì)算機(jī)使用的機(jī)器語言并運(yùn)行制恍。這使得使用Python更加簡單。也使得Python程序更加易于移植神凑。

8.面向?qū)ο螅篜ython既支持面向過程的編程也支持面向?qū)ο蟮木幊叹簧瘛T凇懊嫦蜻^程”的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的溉委。在“面向?qū)ο蟆钡恼Z言中鹃唯,程序是由數(shù)據(jù)和功能組合而成的對象構(gòu)建起來的。

9.可擴(kuò)展性:如果需要一段關(guān)鍵代碼運(yùn)行得更快或者希望某些算法不公開薛躬,可以部分程序用C或C++編寫,然后在Python程序中使用它們呆细。

10.可嵌入性:可以把Python嵌入C/C++程序型宝,從而向程序用戶提供腳本功能。

11.豐富的庫:Python標(biāo)準(zhǔn)庫確實(shí)很龐大絮爷。它可以幫助處理各種工作趴酣,包括正則表達(dá)式、文檔生成坑夯、單元測試岖寞、線程、數(shù)據(jù)庫柜蜈、網(wǎng)頁瀏覽器仗谆、CGI指巡、FTP、電子郵件隶垮、XML藻雪、XML-RPC、HTML狸吞、WAV文件勉耀、密碼系統(tǒng)、GUI(圖形用戶界面)蹋偏、Tk和其他與系統(tǒng)有關(guān)的操作便斥。這被稱作Python的“功能齊全”理念。除了標(biāo)準(zhǔn)庫以外威始,還有許多其他高質(zhì)量的庫枢纠,如wxPython、Twisted和Python圖像庫等等字逗。

12.規(guī)范的代碼:Python采用強(qiáng)制縮進(jìn)的方式使得代碼具有較好可讀性京郑。而Python語言寫的程序不需要編譯成二進(jìn)制代碼。

缺點(diǎn):

1.單行語句和命令行輸出問題:很多時(shí)候不能將程序連寫成一行葫掉,如import sys;for i in sys.path:print i些举。而perl和awk就無此限制,可以較為方便的在shell下完成簡單程序俭厚,不需要如Python一樣户魏,必須將程序?qū)懭胍粋€(gè).py文件。

2.獨(dú)特的語法:這也許不應(yīng)該被稱為局限挪挤,但是它用縮進(jìn)來區(qū)分語句關(guān)系的方式還是給很多初學(xué)者帶來了困惑叼丑。即便是很有經(jīng)驗(yàn)的Python程序員,也可能陷入陷阱當(dāng)中扛门。最常見的情況是tab和空格的混用會(huì)導(dǎo)致錯(cuò)誤鸠信,而這是用肉眼無法分別的。

3.運(yùn)行速度慢:這里是指與C和C++相比论寨。

應(yīng)用:

系統(tǒng)編程:提供API(Application Programming Interface應(yīng)用程序編程接口)星立,能方便進(jìn)行系統(tǒng)維護(hù)和管理,Linux下標(biāo)志性語言之一葬凳,是很多系統(tǒng)管理員理想的編程工具[6] 绰垂。

圖形處理:有PIL、Tkinter等圖形庫支持火焰,能方便進(jìn)行圖形處理劲装。

數(shù)學(xué)處理:NumPy擴(kuò)展提供大量與許多標(biāo)準(zhǔn)數(shù)學(xué)庫的接口。

文本處理:python提供的re模塊能支持正則表達(dá)式,還提供SGML占业,XML分析模塊绒怨,許多程序員利用python進(jìn)行XML程序的開發(fā)。數(shù)據(jù)庫編程:程序員可通過遵循Python DB-API(數(shù)據(jù)庫應(yīng)用程序編程接口)規(guī)范的模塊與Microsoft SQL Server纺酸,Oracle窖逗,Sybase,DB2餐蔬,MySQL碎紊、SQLite等數(shù)據(jù)庫通信。python自帶有一個(gè)Gadfly模塊樊诺,提供了一個(gè)完整的SQL環(huán)境仗考。網(wǎng)絡(luò)編程:提供豐富的模塊支持sockets編程,能方便快速地開發(fā)分布式應(yīng)用程序词爬。很多大規(guī)模軟件開發(fā)計(jì)劃例如Zope顿膨,Mnet 及BitTorrent. Google都在廣泛地使用它恋沃。

Web編程:應(yīng)用的開發(fā)語言恕洲,支持最新的XML技術(shù)。

多媒體應(yīng)用:Python的PyOpenGL模塊封裝了“OpenGL應(yīng)用程序編程接口”泌类,能進(jìn)行二維和三維圖像處理。PyGame模塊可用于編寫游戲軟件喇澡。

pymo引擎:PYMO全稱為python memories off,是一款運(yùn)行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系統(tǒng)上的AVG游戲引擎呕屎。因其基于python2.0平臺(tái)開發(fā),并且適用于創(chuàng)建秋之回憶(memories off)風(fēng)格的AVG游戲蹂安,故命名為PYMO。

黑客編程:python有一個(gè)hack的庫,內(nèi)置了你熟悉的或不熟悉的函數(shù)允瞧,但是缺少成就感建炫。

標(biāo)準(zhǔn)庫:

Python擁有一個(gè)強(qiáng)大的標(biāo)準(zhǔn)庫廊驼。Python語言的核心只包含數(shù)字眷柔、 字符串、列表、字典聋涨、文件等常見類型和函數(shù)脊凰,而由Python標(biāo)準(zhǔn)庫提供了系統(tǒng)管理、網(wǎng)絡(luò)通信、文本處理、數(shù)據(jù)庫接口、圖形系統(tǒng)淘这、XML處理等額外的功 能铝穷。Python標(biāo)準(zhǔn)庫命名接口清晰宁脊、文檔良好稳衬,很容易學(xué)習(xí)和使用薄疚。

Python社區(qū)提供了大量的第三方模塊莱坎,使用方式與標(biāo)準(zhǔn)庫類似檐什。它們的功能無所不包,覆蓋科學(xué)計(jì)算弱卡、Web開發(fā)乃正、數(shù)據(jù)庫接口、圖形系統(tǒng)多個(gè)領(lǐng)域婶博,并且大多成熟而穩(wěn)定瓮具。第三方模塊可以使用Python或者C語言編寫。SWIG,SIP 常用于將C語言編寫的程序庫轉(zhuǎn)化為Python模塊凡人。Boost C++ Libraries包含了一組庫名党,Boost.Python,使得以 Python 或 C++ 編寫的程序能互相調(diào)用挠轴。借助于擁有基于標(biāo)準(zhǔn)庫的大量工具传睹、能夠使用低級語言如C和可以作為其他庫接口的C++,Python已成為一種強(qiáng)大的應(yīng)用于其他語 言與工具之間的膠水語言岸晦。

Python標(biāo)準(zhǔn)庫的主要功能有:文本處理欧啤,包含文本格式化、正則表達(dá)式匹配启上、文本差異計(jì)算與合并邢隧、Unicode支持,二進(jìn)制數(shù)據(jù)冈在,文件處理府框,包含文件操作、創(chuàng)建臨時(shí)文件讥邻、文件壓縮與歸檔迫靖、操作配置文件等功能,操作系統(tǒng)功能兴使,包含線程與進(jìn)程支持系宜、IO復(fù)用、日期與時(shí)間處理发魄、調(diào)用系統(tǒng)函數(shù)盹牧、寫日記(logging)等功能俩垃,網(wǎng)絡(luò)通信,包含網(wǎng)絡(luò)套接字汰寓,SSL加密通信口柳、異步網(wǎng)絡(luò)通信等功能網(wǎng)絡(luò)協(xié)議,支持HTTP有滑,F(xiàn)TP跃闹,SMTP,POP毛好,IMAP望艺,NNTP,XMLRPC等多種網(wǎng)絡(luò)協(xié)議肌访,并提供了編寫網(wǎng)絡(luò)服務(wù)器的框架找默,W3C格式支持,包含HTML吼驶,SGML惩激,XML的處理。其它功能蟹演,包括國際化支持咧欣、數(shù)學(xué)運(yùn)算、HASH轨帜、Tkinter等

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末魄咕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蚌父,更是在濱河造成了極大的恐慌哮兰,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件苟弛,死亡現(xiàn)場離奇詭異喝滞,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)膏秫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門右遭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人缤削,你說我怎么就攤上這事窘哈。” “怎么了亭敢?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵滚婉,是天一觀的道長。 經(jīng)常有香客問我帅刀,道長让腹,這世上最難降的妖魔是什么远剩? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮骇窍,結(jié)果婚禮上瓜晤,老公的妹妹穿的比我還像新娘。我一直安慰自己腹纳,他們只是感情好痢掠,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著只估,像睡著了一般。 火紅的嫁衣襯著肌膚如雪着绷。 梳的紋絲不亂的頭發(fā)上蛔钙,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機(jī)與錄音荠医,去河邊找鬼吁脱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛彬向,可吹牛的內(nèi)容都是我干的兼贡。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼娃胆,長吁一口氣:“原來是場噩夢啊……” “哼遍希!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起里烦,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤凿蒜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后胁黑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體废封,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年丧蘸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了漂洋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,018評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡力喷,死狀恐怖刽漂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情弟孟,我是刑警寧澤爽冕,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站披蕉,受9級特大地震影響颈畸,放射性物質(zhì)發(fā)生泄漏乌奇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一眯娱、第九天 我趴在偏房一處隱蔽的房頂上張望礁苗。 院中可真熱鬧,春花似錦徙缴、人聲如沸试伙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疏叨。三九已至,卻和暖如春穿剖,著一層夾襖步出監(jiān)牢的瞬間蚤蔓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工糊余, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留秀又,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓贬芥,卻偏偏與公主長得像吐辙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子蘸劈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容