久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > python是怎樣的編程語(yǔ)言

python是怎樣的編程語(yǔ)言

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-05 21:36:14 1699191374

Python由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究學(xué)會(huì)的GuidovanRossum于1990年代初設(shè)計(jì),作為一門(mén)叫做ABC語(yǔ)言的替代品。Python提供了高效的高級(jí)數(shù)據(jù)結(jié)構(gòu),還能簡(jiǎn)單有效地面向?qū)ο缶幊?。Python語(yǔ)法和動(dòng)態(tài)類(lèi)型,以及解釋型語(yǔ)言的本質(zhì),使它成為多數(shù)平臺(tái)上寫(xiě)腳本和快速開(kāi)發(fā)應(yīng)用的編程語(yǔ)言,隨著版本的不斷更新和語(yǔ)言新功能的添加,逐漸被用于獨(dú)立的、大型項(xiàng)目的開(kāi)發(fā)。

Python解釋器易于擴(kuò)展,可以使用C或C++(或者其他可以通過(guò)C調(diào)用的語(yǔ)言)擴(kuò)展新的功能和數(shù)據(jù)類(lèi)型。Python也可用于可定制化軟件中的擴(kuò)展程序語(yǔ)言。Python豐富的標(biāo)準(zhǔn)庫(kù),提供了適用于各個(gè)主要系統(tǒng)平臺(tái)的源碼或機(jī)器碼。

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

簡(jiǎn)單:Python是一種代表簡(jiǎn)單主義思想的語(yǔ)言。閱讀一個(gè)良好的Python程序就感覺(jué)像是在讀英語(yǔ)一樣。它使你能夠?qū)W⒂诮鉀Q問(wèn)題而不是去搞明白語(yǔ)言本身。

易學(xué):Python極其容易上手,因?yàn)镻ython有極其簡(jiǎn)單的說(shuō)明文檔。

易讀、易維護(hù):風(fēng)格清晰劃一、強(qiáng)制縮進(jìn)

用途廣泛

速度快:Python的底層是用C語(yǔ)言寫(xiě)的,很多標(biāo)準(zhǔn)庫(kù)和第三方庫(kù)也都是用C寫(xiě)的,運(yùn)行速度非???。

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

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

可移植性:由于它的開(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、PalmOS、QNX、VMS、Psion、AcomRISCOS、VxWorks、PlayStation、SharpZaurus、WindowsCE、PocketPC、Symbian以及Google基于linux開(kāi)發(fā)的android平臺(tái)。

解釋性:一個(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)換成稱(chēng)為字節(jié)碼的中間形式,然后再把它翻譯成計(jì)算機(jī)使用的機(jī)器語(yǔ)言并運(yùn)行。這使得使用Python更加簡(jiǎn)單。也使得Python程序更加易于移植。

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

Python是完全面向?qū)ο蟮恼Z(yǔ)言。函數(shù)、模塊、數(shù)字、字符串都是對(duì)象。并且完全支持繼承、重載、派生、多繼承,有益于增強(qiáng)源代碼的復(fù)用性。Python支持重載運(yùn)算符和動(dòng)態(tài)類(lèi)型。相對(duì)于Lisp這種傳統(tǒng)的函數(shù)式編程語(yǔ)言,Python對(duì)函數(shù)式設(shè)計(jì)只提供了有限的支持。有兩個(gè)標(biāo)準(zhǔn)庫(kù)(functools,itertools)提供了Haskell和StandardML中久經(jīng)考驗(yàn)的函數(shù)式程序設(shè)計(jì)工具。

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

Python本身被設(shè)計(jì)為可擴(kuò)充的。并非所有的特性和功能都集成到語(yǔ)言核心。Python提供了豐富的API和工具,以便程序員能夠輕松地使用C語(yǔ)言、C++、Cython來(lái)編寫(xiě)擴(kuò)充模塊。Python編譯器本身也可以被集成到其它需要腳本語(yǔ)言的程序內(nèi)。因此,很多人還把Python作為一種“膠水語(yǔ)言”(gluelanguage)使用。使用Python將其他語(yǔ)言編寫(xiě)的程序進(jìn)行集成和封裝。在Google內(nèi)部的很多項(xiàng)目,例如GoogleEngine使用C++編寫(xiě)性能要求極高的部分,然后用Python或Java/Go調(diào)用相應(yīng)的模塊?!禤ython技術(shù)手冊(cè)》的作者馬特利(AlexMartelli)說(shuō):“這很難講,不過(guò),2004年,Python已在Google內(nèi)部使用,Google召募許多Python高手,但在這之前就已決定使用Python,他們的目的是Pythonwherewecan,C++wherewemust,在操控硬件的場(chǎng)合使用C++,在快速開(kāi)發(fā)時(shí)候使用Python?!?/p>

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

豐富的庫(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(圖形用戶(hù)界面)、Tk和其他與系統(tǒng)有關(guān)的操作。這被稱(chēng)作Python的“功能齊全”理念。除了標(biāo)準(zhǔn)庫(kù)以外,還有許多其他高質(zhì)量的庫(kù),如wxPython、Twisted和Python圖像庫(kù)等等。

規(guī)范的代碼:Python采用強(qiáng)制縮進(jìn)的方式使得代碼具有較好可讀性。而Python語(yǔ)言寫(xiě)的程序不需要編譯成二進(jìn)制代碼。Python的作者設(shè)計(jì)限制性很強(qiáng)的語(yǔ)法,使得不好的編程習(xí)慣(例如if語(yǔ)句的下一行不向右縮進(jìn))都不能通過(guò)編譯。其中很重要的一項(xiàng)就是Python的縮進(jìn)規(guī)則。一個(gè)和其他大多數(shù)語(yǔ)言(如C)的區(qū)別就是,一個(gè)模塊的界限,完全是由每行的首字符在這一行的位置來(lái)決定(而C語(yǔ)言是用一對(duì)花括號(hào){}來(lái)明確的定出模塊的邊界,與字符的位置毫無(wú)關(guān)系)。通過(guò)強(qiáng)制程序員們縮進(jìn)(包括if,for和函數(shù)定義等所有需要使用模塊的地方),Python確實(shí)使得程序更加清晰和美觀。

高級(jí)動(dòng)態(tài)編程:雖然Python可能被粗略地分類(lèi)為“腳本語(yǔ)言”(scriptlanguage),但實(shí)際上一些大規(guī)模軟件開(kāi)發(fā)計(jì)劃例如Zope、Mnet及BitTorrent,Google也廣泛地使用它。Python的支持者較喜歡稱(chēng)它為一種高級(jí)動(dòng)態(tài)編程語(yǔ)言,原因是“腳本語(yǔ)言”泛指僅作簡(jiǎn)單程序設(shè)計(jì)任務(wù)的語(yǔ)言,如shellscript、VBScript等只能處理簡(jiǎn)單任務(wù)的編程語(yǔ)言,并不能與Python相提并論。

做科學(xué)計(jì)算優(yōu)點(diǎn)多:說(shuō)起科學(xué)計(jì)算,首先會(huì)被提到的可能是MATLAB。除了MATLAB的一些專(zhuān)業(yè)性很強(qiáng)的工具箱還無(wú)法被替代之外,MATLAB的大部分常用功能都可以在Python世界中找到相應(yīng)的擴(kuò)展庫(kù)。和MATLAB相比,用Python做科學(xué)計(jì)算有如下優(yōu)點(diǎn):

●首先,MATLAB是一款商用軟件,并且價(jià)格不菲。而Python完全免費(fèi),眾多開(kāi)源的科學(xué)計(jì)算庫(kù)都提供了Python的調(diào)用接口。用戶(hù)可以在任何計(jì)算機(jī)上免費(fèi)安裝Python及其絕大多數(shù)擴(kuò)展庫(kù)。

●其次,與MATLAB相比,Python是一門(mén)更易學(xué)、更嚴(yán)謹(jǐn)?shù)某绦蛟O(shè)計(jì)語(yǔ)言。它能讓用戶(hù)編寫(xiě)出更易讀、易維護(hù)的代碼。

●最后,MATLAB主要專(zhuān)注于工程和科學(xué)計(jì)算。然而即使在計(jì)算領(lǐng)域,也經(jīng)常會(huì)遇到文件管理、界面設(shè)計(jì)、網(wǎng)絡(luò)通信等各種需求。而Python有著豐富的擴(kuò)展庫(kù),可以輕易完成各種高級(jí)任務(wù),開(kāi)發(fā)者可以用Python實(shí)現(xiàn)完整應(yīng)用程序所需的各種功能。

缺點(diǎn)

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

給初學(xué)者帶來(lái)困惑:獨(dú)特的語(yǔ)法,這也許不應(yīng)該被稱(chēng)為局限,但是它用縮進(jìn)來(lái)區(qū)分語(yǔ)句關(guān)系的方式還是給很多初學(xué)者帶來(lái)了困惑。即便是很有經(jīng)驗(yàn)的Python程序員,也可能陷入陷阱當(dāng)中。

運(yùn)行速度慢:這里是指與C和C++相比。Python開(kāi)發(fā)人員盡量避開(kāi)不成熟或者不重要的優(yōu)化。一些針對(duì)非重要部位的加快運(yùn)行速度的補(bǔ)丁通常不會(huì)被合并到Python內(nèi)。所以很多人認(rèn)為Python很慢。不過(guò),根據(jù)二八定律,大多數(shù)程序?qū)λ俣纫蟛桓?。在某些?duì)運(yùn)行速度要求很高的情況,Python設(shè)計(jì)師傾向于使用JIT技術(shù),或者用使用C/C++語(yǔ)言改寫(xiě)這部分程序。可用的JIT技術(shù)是PyPy。

以上內(nèi)容為大家介紹了python是怎樣的編程語(yǔ)言,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
Python標(biāo)準(zhǔn)庫(kù)主要有哪些功能?

眾所周知,Python標(biāo)準(zhǔn)庫(kù)非常龐大,可以幫助處理各種各樣的工作,從而提高效率、節(jié)省成本。那么你對(duì)Python標(biāo)準(zhǔn)庫(kù)了解多少呢?你知道Python標(biāo)準(zhǔn)庫(kù)...詳情>>

2023-11-05 23:38:38
用Python編寫(xiě)代碼時(shí)有哪些有用的技巧?

不知道吧,使用Python編寫(xiě)代碼時(shí),有一些小技巧可以大幅度提升我們的工作效率和開(kāi)發(fā)效率,而且這些技巧很簡(jiǎn)單,只需要在編寫(xiě)代碼時(shí)稍微注意一下...詳情>>

2023-11-05 22:48:14
python基礎(chǔ)入門(mén)之設(shè)計(jì)URL方案

DjangoURL分發(fā)系統(tǒng)使用了正則表達(dá)式配置模塊,它可以將URL字符串模式映射為Python方法views。這個(gè)系統(tǒng)允許URL與底層代碼完全脫節(jié),從而實(shí)現(xiàn)最大...詳情>>

2023-11-05 22:37:26
Python的編程語(yǔ)言

一、Python編程語(yǔ)言的優(yōu)點(diǎn)有哪些?1.Python是一種腳本語(yǔ)言,寫(xiě)好了就可以直接運(yùn)行,省去了編譯鏈接的麻煩,對(duì)于需要多動(dòng)手實(shí)踐的初學(xué)者而言,也...詳情>>

2023-11-05 22:33:50
python五大異常處理機(jī)制

??我們明白了什么是異常后,那么發(fā)現(xiàn)異常后怎么處理,便是我們接下來(lái)要解決的問(wèn)題。這里將處理異常的方式總結(jié)為五種。1、默認(rèn)異常處理機(jī)制“...詳情>>

2023-11-05 22:15:50
快速通道