python是一门高级的计算机语言对吗_Python是一门怎样的编程语言
編程語(yǔ)言主要分為編譯型和解釋型,靜態(tài)語(yǔ)言和動(dòng)態(tài)語(yǔ)言,強(qiáng)類型和弱類型,混合語(yǔ)言等。
編譯型語(yǔ)言:通過(guò)編譯器把源代碼編譯(compile)成機(jī)器語(yǔ)言,在經(jīng)過(guò)鏈接(linker)將源代碼中所使用的庫(kù)串聯(lián)起來(lái)生成可執(zhí)行二進(jìn)制文件,這樣運(yùn)行時(shí) 計(jì)算機(jī)可以直接以機(jī)器語(yǔ)言來(lái)運(yùn)行程序。優(yōu)點(diǎn):運(yùn)行效率高。缺點(diǎn):編譯之后如果需要修改代碼需要重新編譯整個(gè)模塊。編譯的時(shí)候根據(jù)對(duì)應(yīng)的運(yùn)行環(huán)境生成機(jī)器碼,不同的操作系統(tǒng)之間移植就會(huì)有問(wèn)題,需要根據(jù)運(yùn)行的操作系統(tǒng)環(huán)境編譯不同的可執(zhí)行文件,代表語(yǔ)言:C,C++,object-C等。
解釋型語(yǔ)言:不需要編譯,只在程序運(yùn)行時(shí)才逐條翻譯成機(jī)器語(yǔ)言。優(yōu)點(diǎn):跨平臺(tái)支持比較好,缺點(diǎn):程序運(yùn)行效率會(huì)比較慢。如:python,php,Perl等。
動(dòng)態(tài)語(yǔ)言:動(dòng)態(tài)類型語(yǔ)言,是指數(shù)據(jù)類型,結(jié)構(gòu)(如對(duì)象,函數(shù))的檢查是在運(yùn)行時(shí)做的。用動(dòng)態(tài)類型語(yǔ)言編程時(shí),不用給變量指定數(shù)據(jù)類型,該語(yǔ)言會(huì)在你第一次賦值給變量時(shí),在內(nèi)部記錄數(shù)據(jù)類型,結(jié)構(gòu)。在運(yùn)行代碼時(shí)可以根據(jù)某些條件改變變量的數(shù)據(jù)類型,結(jié)構(gòu)。也就是說(shuō)在運(yùn)行時(shí)代碼 可以根據(jù)某些條件改變自身結(jié)構(gòu),數(shù)據(jù)類型。代表語(yǔ)言:python,PHP,C#等。
靜態(tài)語(yǔ)言:靜態(tài)類型語(yǔ)言,是指數(shù)據(jù)類型,結(jié)構(gòu)的檢查是在運(yùn)行前(如編譯階段)做的,運(yùn)行時(shí)結(jié)構(gòu)不可變。代表語(yǔ)言:C,C++等。
強(qiáng)類型語(yǔ)言:如果某個(gè)變量的數(shù)據(jù)類型不經(jīng)過(guò)強(qiáng)制轉(zhuǎn)換,該變量類型是不會(huì)改變的。
弱類型語(yǔ)言:變量可以根據(jù)賦值類型調(diào)整自身的數(shù)據(jù)類型。
混合型語(yǔ)言:既然編譯型和解釋型各有缺點(diǎn)就會(huì)有人想到把兩種類型整合起來(lái),取其精華去其糟粕。就出現(xiàn)了半編譯型語(yǔ)言。比如C#,C#在編譯的時(shí)候不是直接編譯成機(jī)器碼而是中間碼,.NET平臺(tái)提供了中間語(yǔ)言運(yùn)行庫(kù)運(yùn)行中間碼,中間語(yǔ)言運(yùn)行庫(kù)類似于Java虛擬機(jī)。.net在編譯成IL代碼后,保存在dll中,首次運(yùn)行時(shí)由JIT在編譯成機(jī)器碼緩存在內(nèi)存中,下次直接執(zhí)行。Java先生成字節(jié)碼再在Java虛擬機(jī)中解釋執(zhí)行。嚴(yán)格來(lái)說(shuō)混合型語(yǔ)言屬于解釋型語(yǔ)言。C#更接近編譯型語(yǔ)言。
由此可知python語(yǔ)言是一門(mén)解釋,動(dòng)態(tài),弱類型語(yǔ)言。
python語(yǔ)言的優(yōu)點(diǎn):
1、python的定位是“優(yōu)雅”、“明確”、“簡(jiǎn)單”,所以python程序看上去總是簡(jiǎn)單易懂,對(duì)于初學(xué)者容易入門(mén)。
2、開(kāi)發(fā)效率高,python有非常強(qiáng)大的第三方庫(kù),基本上你想通過(guò)計(jì)算機(jī)實(shí)現(xiàn)任何功能,python官方庫(kù)里都有相應(yīng)的模塊進(jìn)行支持,直接下載調(diào)用后,在基礎(chǔ)庫(kù)的基礎(chǔ)上進(jìn)行開(kāi)發(fā),大大降低開(kāi)發(fā)周期,避免重復(fù)造輪子。
3、高級(jí)語(yǔ)言,當(dāng)使用python語(yǔ)言編寫(xiě)程序時(shí),無(wú)需考慮如何管理內(nèi)存等底層細(xì)節(jié)。
4、可移植性,由于它開(kāi)源的本質(zhì),python已經(jīng)被移植在許多平臺(tái)上,如果你小心的避免使用依賴于系統(tǒng)特性,那么你的所有python程序無(wú)需修改就幾乎可以在市場(chǎng)上所有的系統(tǒng)平臺(tái)運(yùn)行。
5、可擴(kuò)展性,如果你需要你的一段關(guān)鍵代碼運(yùn)行得更快或者希望某些算法不公開(kāi),可以把部份程序用C或C++編寫(xiě)庫(kù),然后用python調(diào)用。
6、可嵌入式,可以把python嵌入到C/C++程序,從而向你的程序用戶提供腳本功能。
python語(yǔ)言的缺點(diǎn):
1、速度慢,由于是解釋型所以運(yùn)行速度相比編譯型語(yǔ)言要慢,跟Java相比也要慢一些。
2、代碼不能加密,因?yàn)閜ython是解釋型語(yǔ)言,它的源碼都是以明文形式存放的,所以如果項(xiàng)目要求源代碼必須保密或者加密,那一開(kāi)始就不應(yīng)該考慮用python來(lái)實(shí)現(xiàn)。
3、強(qiáng)制縮進(jìn),單行語(yǔ)句不用寫(xiě)分號(hào)對(duì)于習(xí)慣了C/C++用戶可能不是太習(xí)慣。
4、Python2與 Python3不兼容,因?yàn)镻ython沒(méi)有向后兼容,給所有的Python工程師帶來(lái)了煩惱。
總結(jié)
以上是生活随笔為你收集整理的python是一门高级的计算机语言对吗_Python是一门怎样的编程语言的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 购车补贴是帮倒忙?机构称今年中国车市消费
- 下一篇: 前五大厂全线暴跌 联想依旧第一 最新西欧