教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

什么是Python?難得全面的python百科

更新時(shí)間:2018年12月24日10時(shí)10分 來(lái)源:python培訓(xùn) 瀏覽次數(shù):

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

什么是Python?

Python是一門(mén)解釋型、面向?qū)ο?、帶有?dòng)態(tài)語(yǔ)義的高級(jí)程序設(shè)計(jì)語(yǔ)言。

首先我們通過(guò)一個(gè)視頻簡(jiǎn)單了解一下

【整套Python教程(19天課程)下載:http://www.xamj520.com/news/20200611/14102630920.shtml

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

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

Python語(yǔ)法清晰簡(jiǎn)潔,頗具特色的是用空白符作為語(yǔ)句的縮進(jìn)。

什么是python

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

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

1.簡(jiǎn)單:Python是一種代表簡(jiǎn)單主義思想的語(yǔ)言。

2.易用:Python簡(jiǎn)單容易上手,因?yàn)橛泻?jiǎn)單容易看懂的文檔。

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

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

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

6.可移植性:由于它的開(kāi)源本質(zhì),Python已經(jīng)被移植在許多平臺(tái)上(經(jīng)過(guò)改動(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開(kāi)發(fā)的android平臺(tái)。

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

8.面向?qū)ο螅篜ython既支持面向過(guò)程的編程也支持面向?qū)ο蟮木幊獭T?ldquo;面向過(guò)程”的語(yǔ)言中,程序是由過(guò)程或僅僅是可重用代碼的函數(shù)構(gòu)建起來(lái)的。在“面向?qū)ο?rdquo;的語(yǔ)言中,程序是由數(shù)據(jù)和功能組合而成的對(duì)象構(gòu)建起來(lái)的。

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

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

11.豐富的庫(kù):Python標(biāo)準(zhǔn)庫(kù)確實(shí)很龐大。它可以幫助處理各種工作,包括正則表達(dá)式、文檔生成、單元測(cè)試、線程、數(shù)據(jù)庫(kù)、網(wǎng)頁(yè)瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統(tǒng)、GUI(圖形用戶界面)、Tk和其他與系統(tǒng)有關(guān)的操作。這被稱作Python的“功能齊全”理念。除了標(biāo)準(zhǔn)庫(kù)以外,還有許多其他高質(zhì)量的庫(kù),如wxPython、Twisted和Python圖像庫(kù)等等。

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

缺點(diǎn):

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

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

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

應(yīng)用:

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

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

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

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

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

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

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

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

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

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

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

Python標(biāo)準(zhǔn)庫(kù)的主要功能有:文本處理,包含文本格式化、正則表達(dá)式匹配、文本差異計(jì)算與合并、Unicode支持,二進(jìn)制數(shù)據(jù),文件處理,包含文件操作、創(chuàng)建臨時(shí)文件、文件壓縮與歸檔、操作配置文件等功能,操作系統(tǒng)功能,包含線程與進(jìn)程支持、IO復(fù)用、日期與時(shí)間處理、調(diào)用系統(tǒng)函數(shù)、寫(xiě)日記(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é)議,并提供了編寫(xiě)網(wǎng)絡(luò)服務(wù)器的框架,W3C格式支持,包含HTML,SGML,XML的處理。其它功能,包括國(guó)際化支持、數(shù)學(xué)運(yùn)算、HASH、Tkinter等。


猜你喜歡

python是什么?python的用途

Python是被誰(shuí)設(shè)計(jì)出來(lái)的?

傳智播客Python+人工智能課程

0 分享到:
和我們?cè)诰€交談!