本篇文章給大家分享的是有關(guān)怎么理解Python動(dòng)態(tài)語(yǔ)言,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
創(chuàng)新互聯(lián)建站2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元憑祥做網(wǎng)站,已為上家服務(wù),為憑祥各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
有人說Python動(dòng)態(tài)語(yǔ)言是一種解釋性的語(yǔ)言,但是這種說法是不正確的,其實(shí)Python語(yǔ)言是一種面向?qū)ο蟆⒅弊g式計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,也是一種功能強(qiáng)大而完善的通用型語(yǔ)言,對(duì)于***次接觸編程的用戶,Python絕對(duì)是***選擇。
但是很多人都會(huì)用了一段時(shí)間basic之后就把它廢置了,因?yàn)橛X得除了能夠用來play,功能太少。即便是vb,也是功能不甚完善的,很多地方要依靠其他語(yǔ)言寫的組件和直接調(diào)用api來完成功能。而python由于粗看之下,也是那么的像玩具。而且那個(gè)交互式命令行給人帶來的教學(xué)語(yǔ)言的感覺更加加強(qiáng)了人們的想法。
但是Python其實(shí)功能不能說是弱,其實(shí)是非常強(qiáng)大。python內(nèi)置了重要的數(shù)據(jù)結(jié)構(gòu)和文件這些功能,而且包含了一個(gè)很大的標(biāo)準(zhǔn)庫(kù),基本上涵蓋了從GUI到數(shù)據(jù)庫(kù)到網(wǎng)絡(luò)種種功能上的要求。
而且還有很多愛好者,公司企業(yè)為python寫第三方的庫(kù),這些庫(kù)品種繁多,功能齊全。而且還能把其他語(yǔ)言的庫(kù)加以包裝給自己使用。直接用c這樣的語(yǔ)言了來寫擴(kuò)展的庫(kù)也是可以的。
所以說,python像basic一樣好學(xué),但是功能卻要強(qiáng)大很多。python速度很慢,只能用在很少的應(yīng)用場(chǎng)合。對(duì)于習(xí)慣了匯編和C++這樣的語(yǔ)言的人,思維總是有一個(gè)慣性(包括我自己也經(jīng)歷了這么一個(gè)階段)。
就是看文件大小是數(shù)字節(jié)的,任何運(yùn)行時(shí)的overhead都是絕對(duì)不可以的。那么一看見python這樣的動(dòng)態(tài)語(yǔ)言,而且動(dòng)態(tài)得非常厲害的語(yǔ)言,怎么看怎么不順眼也是情理之中了。關(guān)鍵的問題首先是你是否需要省那么個(gè)100~200k的大小。
現(xiàn)在的內(nèi)存,硬盤,網(wǎng)絡(luò)通信環(huán)境已經(jīng)不大在乎這么一點(diǎn)的空間了,所以大小不是問題。關(guān)鍵的是運(yùn)行時(shí)間嗎?其實(shí)在很多場(chǎng)合下是不需要那么快的速度的,比如開一個(gè)窗口,運(yùn)行如果延時(shí)100ms,你感覺得到嗎?
python還能夠把py文件進(jìn)行一些處理變成pyc文件,加速源文件的解釋執(zhí)行。像java的虛擬機(jī)中的just in time或者h(yuǎn)ot spot這樣的預(yù)先讀取,預(yù)先編譯的技術(shù)都能構(gòu)同等的用于python。
Python動(dòng)態(tài)語(yǔ)言還有一個(gè)非常大的好處就是能夠用C這樣的快速的語(yǔ)言寫擴(kuò)展模塊。在軟件中一般都是20%的代碼占據(jù)了80%的運(yùn)行時(shí)間。這樣你可以先用benchmark這樣的工具看看軟件是否慢得無(wú)法忍受了,然后再用profiler查出問題瓶頸在哪里,那么就可以把關(guān)鍵的代碼用C解決掉。
這樣可以節(jié)省了開發(fā)時(shí)間(大部分代碼用python寫,比C快),而且運(yùn)行速度也可以令人滿意。所以說,對(duì)于python的速度是不用多擔(dān)心的。但是為了客觀起見,python的卻是慢的,在python中什么都是對(duì)象,這個(gè)比java這樣的不那么純的OO語(yǔ)言,就要差一些了。
有這個(gè)看法主要是認(rèn)為,因?yàn)閜ython是動(dòng)態(tài)的,所以缺乏靜態(tài)的類型檢查,那么程序中的錯(cuò)誤就很難發(fā)現(xiàn)了。設(shè)置可能說沒有執(zhí)行到的塊的語(yǔ)法都沒有得到完全徹底的檢查。變量由于沒有聲明,所以容易產(chǎn)生誤寫的錯(cuò)誤。事情真這么糟糕嗎?
***個(gè)缺乏類型檢查是說一個(gè)函數(shù)有幾個(gè)參數(shù),但是由于參數(shù)的類型是動(dòng)態(tài)確定的,所以沒有辦法在靜態(tài)的時(shí)候就檢查傳入的參數(shù)和參數(shù)表是否匹配了。問題是你寫的函數(shù)一定要自己測(cè)試了。
而且一旦出了問題,你是非常容易找到出錯(cuò)的地方的。dynamic typing是那么靈活好用,多這么一點(diǎn)麻煩也是值得的。第二個(gè)看法就是錯(cuò)誤的。在python中所有語(yǔ)法都得到了檢查的。即使是處在分支語(yǔ)句中。只是有可能你說的是這樣的情況。
對(duì)于習(xí)慣了匯編和C++這樣的語(yǔ)言的人,思維總是有一個(gè)慣性(包括我自己也經(jīng)歷了這么一個(gè)階段)。就是看文件大小是數(shù)字節(jié)的,任何運(yùn)行時(shí)的overhead都是絕對(duì)不可以的。那么一看見python這樣的動(dòng)態(tài)語(yǔ)言,而且動(dòng)態(tài)得非常厲害的語(yǔ)言,怎么看怎么不順眼也是情理之中了。
關(guān)鍵的問題首先是你是否需要省那么個(gè)100~200k的大小,現(xiàn)在的內(nèi)存,硬盤,網(wǎng)絡(luò)通信環(huán)境已經(jīng)不大在乎這么一點(diǎn)的空間了,所以大小不是問題。關(guān)鍵的是運(yùn)行時(shí)間嗎?其實(shí)在很多場(chǎng)合下是不需要那么快的速度的,比如開一個(gè)窗口,運(yùn)行如果延時(shí)100ms,你感覺得到嗎?
Python動(dòng)態(tài)語(yǔ)言還能夠把py文件進(jìn)行一些處理變成pyc文件,加速源文件的解釋執(zhí)行。像java的虛擬機(jī)中的just in time或者h(yuǎn)ot spot這樣的預(yù)先讀取,預(yù)先編譯的技術(shù)都能構(gòu)同等的用于python。
python還有一個(gè)非常大的好處就是能夠用C這樣的快速的語(yǔ)言寫擴(kuò)展模塊。在軟件中一般都是20%的代碼占據(jù)了80%的運(yùn)行時(shí)間。這樣你可以先用benchmark這樣的工具看看軟件是否慢得無(wú)法忍受了,然后再用profiler查出問題瓶頸在哪里,那么就可以把關(guān)鍵的代碼用C解決掉。這樣可以節(jié)省了開發(fā)時(shí)間(大部分代碼用python寫,比C快),而且運(yùn)行速度也可以令人滿意。
以上就是怎么理解Python動(dòng)態(tài)語(yǔ)言,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站欄目:怎么理解Python動(dòng)態(tài)語(yǔ)言
標(biāo)題鏈接:http://www.rwnh.cn/article16/jsdhgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、域名注冊(cè)、網(wǎng)站內(nèi)鏈、自適應(yīng)網(wǎng)站、標(biāo)簽優(yōu)化、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)