999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Python語言與javascript語言的區(qū)別

2019-02-14 08:51:24吳俊杰
電子制作 2019年2期
關(guān)鍵詞:語言

吳俊杰

(西安市第八十九中學,陜西西安,710000)

Python是一類面向?qū)ο蟮慕忉屝偷挠嬎銠C編程語言,在1989年,由荷蘭人Guido van Rossum發(fā)明,其首次公開發(fā)行于1991年。

Pytho n是純自由軟件的一種,它的解釋器CPython和源代碼遵循GPL (GNU通用公共許可證)許可證。它的語法清晰簡潔,其特征之一是強制將空格縮進句子中。

Py t h on有豐富而強大的庫。它通常被稱為Glu e Language,可以很容易地與用其他語言制作的各種模塊(特別是c/c++)連接在一起。一個常見的應(yīng)用程序是使用Python來快速生成一個原型(有時甚至最終接口)的一個程序,然后重寫它一個更合適的語言,如圖形渲染模塊3d游戲,這是特別要求,可以在c/c++重寫,然后在Python封裝。可調(diào)用的擴展類庫。特別注意,其在使用擴展類庫時,可能需要考慮關(guān)于平臺的問題,其中可能存在一些庫不提供跨平臺實現(xiàn)的問題[1]。

JavaScript是一種具有動態(tài)類型、基于原型特征的腳本語言、同時因為內(nèi)置了對語言類型的支持,它也是一種弱類型編程語言。它最初用于HTML(標準通用標記語言下的應(yīng)用程序)的頁面,實現(xiàn)在HTML頁面添加動態(tài)功能。

1995年,它由網(wǎng)景公司的Brendan Eich在Web Navig ator瀏覽器完成首次設(shè)計與實現(xiàn)。因為Netscape和Sun一起工作,Netscape的管理層希望它看起來類似Java,所以稱它為JavaScript[2]。

1 什么是python語言,什么是JavaScript語言

Python是一種高級腳本語言,其結(jié)合了可解釋性、交互性、編譯性與面向?qū)ο笮浴ython語言具有高可讀的特性,有著獨特的語法結(jié)構(gòu),比如java,c語言都是用分號來結(jié)束一行代碼。而python只需要在第二行用tab鍵區(qū)分。同時不像java,c語言在運行前需要編譯和鏈接,python作為一種解釋型語言直接可以運行,這像PHP和Perl語言。

(1)Python是交互式編程語言:交互式可以讓用戶在提示符下,直接執(zhí)行用戶開發(fā)的程序。

(2)Python是面向?qū)ο缶幊陶Z言:python語言像java一樣支持面向?qū)ο蟮拇a風格,可以定義類,實例類為對象等。

(3)Python是一種適合初學者的語言:python語言簡潔易學適合初級程序員來學習,同時它可以支持大型應(yīng)用程序開發(fā)。從表格數(shù)據(jù)處理到大型游戲。

JavaScript和python一樣也是一種腳本語言,主要常見于web工程的開發(fā),因為它能與html和css相互兼容,很多網(wǎng)頁用它來實現(xiàn)動態(tài)交互功能。在html網(wǎng)頁中我們最常用的就是JavaScript語言[3]。

(1)像python語言一樣,它是一類解釋性腳本語言,在運行前不需要編譯和鏈接。

(2)主要在用在以html 為主的網(wǎng)頁中,實現(xiàn)網(wǎng)頁的動態(tài)交互功能[4]。

(3)JavaScript可以直接嵌入以html為類型的網(wǎng)頁中,寫成js文件更容易實現(xiàn)代碼的分離和維護。

(4)JavaScript像java一樣具有跨平臺的特性,兼容大多數(shù)的瀏覽器。同時可以在多種平臺下運行(如Android、Linux、Windows、iOS、Mac 等)。

Javascript作為一種腳本語言與python,shell等腳本語言類似,不需要編譯運行,同時跟大多數(shù)語言一樣,JavaScript有自己的基本數(shù)據(jù)類型,語法結(jié)構(gòu),算術(shù)和比較運算符。JavaScript在幫助用戶處理數(shù)據(jù)和文件實際應(yīng)用中,提供了四種基本的數(shù)據(jù)類型以及兩種特殊的數(shù)據(jù)類型。同時JavaScript利用變量存放信息,采用表達式來完成功能復雜的操作[5]。

2 python與JavaScript語言的異同點

■2.1 Python與javascript的相同點

這兩類語言都屬于腳本語言,也稱為擴展語言或動態(tài)語言,是用于控制軟件應(yīng)用程序的編程語言。腳本通常存儲在文本(如ASCII)中,只有在調(diào)用時才進行解釋或編譯[6]。Python與Javascript都是一種腳本語言,這就意味著這兩種語言有著腳本語言的特性,比如它們運行都不需要編譯鏈接而是直接在解釋器中運行,它們都屬于動態(tài)類型,有著自動的內(nèi)存管理。調(diào)用Eval()語句實現(xiàn)執(zhí)行腳本和其他腳本語言也是它們的共同特性。同時,其在定義變量時,并不需要區(qū)分像C與Java語言區(qū)分等變量。

■2.2 python和javascript的不相同點

Javascript是被設(shè)計在客戶端上的一種腳本語言,因此主要應(yīng)用在瀏覽器中,它的語言與java語言類似。Python具備高可讀,簡單易學,常被初學者喜歡,用在數(shù)據(jù)處理,機器學習當中比較多。

(1)它們編程范式不相同。編程范式是計算機編程的一種基本風格,指導如何構(gòu)建程序的結(jié)構(gòu)和元素,簡言之,就是指計算機編程的基本風格或模型。從哲學的角度來說,如果每個程序員都在創(chuàng)造一個虛擬世界,那么編程范式就是他們有意識或無意識地采用的世界觀和方法論。

Python與Javascript均支持很多不同的編程范例,但它們在面向?qū)ο缶幊谭矫娌顒e很大。面向?qū)ο蟮腏avascript是基于原型,對象繼承由prototype(和Object)創(chuàng)建,prototype對象創(chuàng)建的對象繼承原型鏈上的方法。Python是一種常規(guī)的基于類的繼承,自然支持多態(tài)性的語言。

(2)多線程模型不相同。我們通常稱進程為程序(指令和數(shù)據(jù)集合的有序集合我們成為程序)的一次執(zhí)行,它是計算機系統(tǒng)進行資源分配的基本單位同時也是調(diào)度的一個基本單位,為了提高程序的并發(fā)度和進一步提高資源的利用率,我們引進了線程,通常來說線程是進程的實體,一個進程有多個或者至少一個線程組成,線程也是能夠獨立運行的單位,但是它與線程的區(qū)別是不具備獨立的資源,多個線程共用同一進程的資源,當然線程具有程序計數(shù)器、棧與寄存器。

JavaScript語言沒有多線程的引入,其通過并發(fā)事件驅(qū)動方式來進行,所有的JavaScript程序都運行于一個線程是它的特點。雖然在HTML5中引入web worker可以并發(fā)處理任務(wù),但是這并沒有改變Javascript語言的的單線程限制。

Pytho n采用引入線程包來支持多線程。線程化用于提供與線程相關(guān)的操作,線程是應(yīng)用程序中最小的單元。Python的多線程庫的當前版本沒有實現(xiàn)優(yōu)先級,線程組,線程不能停止、暫停、恢復、中斷。線程模塊提供了類:線程、鎖、Rlock、條件信號量、事件、定時器這些資源。

(3)數(shù)據(jù)類型的可變性不一樣。在Python語言中,一些數(shù)據(jù)類型是不可變的,這意味著一旦這些數(shù)據(jù)類型的變量被創(chuàng)建,都是不可修改的,如果修改就會返回新對象(python語言中一切皆是對象)。相比在Javascript語言中,所有數(shù)據(jù)類型被創(chuàng)建后也可以被更改。結(jié)合多線程的概念,JavaScript不支持多線程所以修改不影響線程的安全性,但是python是支持多線程的語言一旦修改將會對線程的安全性產(chǎn)生不可估計的影響。

(4)數(shù)據(jù)類型并不完全相同。Javascript的數(shù)據(jù)類型相對更簡單,包含6個對象、字符串、布爾值、數(shù)字、空值和未定義的值。Python中的一切都是對象,比如模塊、函數(shù)、類等。同時Python有5種內(nèi)置的簡單數(shù)據(jù)的類型,分別為int類型、bool類型、long類型、 fl oat類型與complex類型,及容器類型、內(nèi)部類型、代碼類型等。布爾值:Python有真有假。Javascript有真和假。它們只是大寫字母。

UTF16是JavaScript的編碼方式,而Python的編碼方式是ASCII,為了適應(yīng)中文就需要encode和decode來不斷編碼和解碼。Python支持unicode編碼方式,需要在字符串前加u,如u “aaaa”。

在數(shù)值上JavaScript全都是64位浮點數(shù)的數(shù)值類型,并且支持NaN(不是一個數(shù)字),正無窮和負無窮(+/-In fi ity)。Python有許多數(shù)值類型,它的主要優(yōu)勢在于復數(shù)類型實現(xiàn)非常方便,從而在數(shù)據(jù)處理和人工智能上應(yīng)用比較多。

列表:Javascript中有內(nèi)置數(shù)組類型(數(shù)組也屬于對象)。Python的列表更接近Javascript的數(shù)組,元組可以理解為不可變列表。除了使用內(nèi)置的方法len(在Python中查找長度)外,Python和Javascript基本提供了對列表進行操作的各種方法。其中與JavaScript語言相比Python在列表下標的操作上非常方便與靈活,比如,l[5:-1], l[6]等。

哈希表、字典、對象:Javascript中使用大量{}來進行對象創(chuàng)建,這些對象與字典并無區(qū)別,你可以使用鍵值對的形式訪問對象的成員。你可以動態(tài)添加、修改和刪除鍵值對,因為可以認為這是JavaScript的哈希表或者字典。(對象的鍵必須為字符串)而在Python語言中有內(nèi)置哈希表(dictS), 這個與Javascript語言的不同之處為,dictS其可以有各種不同的類型的鍵值。

空值:Javascript中定義了兩種空值。未定義則表示變量未進行初始化。Null表示變量已進行初始化,但其值是空。

一個完善的制度體系可以給管理者們起到良好的輔助作用,更可以讓員工約束其自身,促進工程進度,打消員工消極怠工的狀態(tài),增強團隊的管理體系,完善制度從以下幾方面入手:

(5)賦值邏輯的操作不同。Javascript中使用=賦值,同時它擁有判斷相等(==)與全等(===)兩種形式,它的邏輯運算符或與分別是||,&&,這雨大多數(shù)語言類似。在Python中并沒有全等,and表示與,or表示或,因為python語言看上去更接近自然的語言。

在Python的賦值操作中不允許返回賦值結(jié)果是一個重要的改進,這個改進的好處是可以避免錯誤地使用賦值運算,尤其是在判斷相等時這是因為這兩個運算符非常地相似,它們與自然語言沒有區(qū)別。Python不支持++運算符,您不再需要考慮是先傳值和重新賦值,還是先賦值和先傳值,這取決于++符號在變量的左邊和右邊的位置。在連續(xù)賦值中, Python使用tuple可以一次分配多個變量。

(6)其他不同點。包管理和作用域也不相同,Javascript的作用域由method函數(shù)定義,此表示同一方法內(nèi)部具有相同作用域。Python的作用域由函數(shù)、模塊和類定義。Python包的導入能很好地管理依賴關(guān)系與作用域,相對而言,由于Javascript并沒有本地包管理的機制,需要 AMD異步加載的同時依賴于JS文件,其中requirejs也是一種比較常見的工具。

3 如何選擇python和JavaScript語言的應(yīng)用

雖然python語言和JavaScript語言都為動態(tài)語言和用作腳本語言,這兩種語言在細節(jié)上有很多不同,從而相關(guān)的開發(fā)人員會根據(jù)不同的項目來選擇不同的語言。JavaS-cript語言與html,css相互兼容,通常在在web項目中實現(xiàn),借助JavaScript語言可以實現(xiàn)動態(tài)網(wǎng)頁。而python語言由于列表,字典等數(shù)據(jù)結(jié)構(gòu)有很多內(nèi)置的函數(shù)或者簡易的讀取策略,通常在數(shù)據(jù)處理上用到的特別多。下面分別介紹JavaScript和python語言的應(yīng)用。

■3.1 在html中利用JavaScript語言實現(xiàn)動態(tài)交互

下圖分別為用html語言制作的圖片拼圖游戲和利用JavaScript語言實現(xiàn)游戲動態(tài)交匯,即可以通過鼠標移動圖片塊。從圖1可以看出用到了JavaScript語言。

圖1

■3.2 利用python實現(xiàn)網(wǎng)絡(luò)爬蟲

網(wǎng)絡(luò)爬蟲是一個程序或腳本自動抓取信息從萬維網(wǎng)根據(jù)某些規(guī)則。它廣泛應(yīng)用于互聯(lián)網(wǎng)搜索引擎或其他類似網(wǎng)站。它可以自動收集它可以訪問、獲取或更新這些網(wǎng)站的內(nèi)容和搜索方法的所有頁面的內(nèi)容。從功能上講,爬蟲一般分為三部分:數(shù)據(jù)采集、處理和存儲。web爬蟲的基本工作流程如下:

(1)首先選取要爬取的種子,即url;

(2)將要爬取的url整合成url隊列,在接下來提供;

(3)從第二部的url隊列中選取要解析的url,然后通過解析DNS,獲取主機IP,下載url獲取的web網(wǎng)頁,并進行存儲。此外,將URL放入已抓取URL隊列之中。

(4)分析已抓取的URL隊列的URL,分析里面其他的URL,并將URL放入待抓取的URL隊列之中,從而進入下一個循環(huán)。

本例主要是爬取58同城網(wǎng)站上出現(xiàn)的火車站信息。第一層根據(jù)url:http://lieche.58.com/checi/kuai.html爬取網(wǎng)頁上出現(xiàn)的所有車次。

第二層是將第一層爬取的所有車次依次拼接URL:http://lieche.58.com/checi/

產(chǎn)生類似這樣的url:http://lieche.58.com/checi/K1595/。之后爬取下圖的詳細信息。

爬取的部分代碼如圖2所示。

圖2

猜你喜歡
語言
詩之新,以語言創(chuàng)造為基
中華詩詞(2023年8期)2023-02-06 08:51:28
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
讓語言描寫搖曳多姿
多向度交往對語言磨蝕的補正之道
累積動態(tài)分析下的同聲傳譯語言壓縮
日常語言與播音語言
新聞傳播(2016年10期)2016-09-26 12:15:04
語言技能退化與語言瀕危
我有我語言
論語言的“得體”
語文知識(2014年10期)2014-02-28 22:00:56
Only Words慎用你的語言
主站蜘蛛池模板: 日韩av资源在线| 国产香蕉在线| 在线国产91| 日韩精品一区二区三区swag| 99国产精品免费观看视频| 99在线视频免费| 午夜国产理论| 五月天久久综合国产一区二区| 在线观看国产精品一区| 四虎影院国产| 久久美女精品| 中文字幕首页系列人妻| 午夜国产在线观看| 一本久道久久综合多人 | 中文字幕1区2区| 天天操精品| 亚洲第一综合天堂另类专| 国产精品极品美女自在线看免费一区二区| 国产成人h在线观看网站站| 欧美视频在线播放观看免费福利资源 | 找国产毛片看| av一区二区三区高清久久| 欧美日韩91| 四虎永久免费网站| 久久精品人人做人人综合试看| 青青国产在线| 亚洲一级毛片在线观播放| 久久一色本道亚洲| 五月天久久综合| 日韩无码视频网站| 亚洲第一黄片大全| 伊人久久大香线蕉影院| 中文字幕亚洲另类天堂| 国产精品高清国产三级囯产AV| 国产又大又粗又猛又爽的视频| 91免费片| 亚洲人成网站在线播放2019| 91外围女在线观看| 国产香蕉国产精品偷在线观看 | 国产高颜值露脸在线观看| 欧美国产日韩一区二区三区精品影视| 1级黄色毛片| 午夜少妇精品视频小电影| 日本免费精品| 国产精品综合色区在线观看| 青青草原国产精品啪啪视频| 都市激情亚洲综合久久| 国产成人精品一区二区免费看京| 日本成人福利视频| 国产亚洲欧美在线人成aaaa| 亚洲成人黄色在线观看| 中文字幕无码中文字幕有码在线 | 成人精品区| 91精品在线视频观看| 在线播放精品一区二区啪视频| 九九视频在线免费观看| 黄色免费在线网址| 亚洲av综合网| 国产内射一区亚洲| 亚洲av无码久久无遮挡| 婷婷亚洲综合五月天在线| 毛片三级在线观看| 2021国产乱人伦在线播放| 国内精品自在欧美一区| 在线日韩一区二区| 国产av一码二码三码无码| 国产96在线 | 四虎影视8848永久精品| 国产99视频在线| 国产大片喷水在线在线视频| 精品无码日韩国产不卡av | 日韩免费毛片视频| 精品色综合| 亚洲最大福利视频网| 国产精品一区二区国产主播| 99激情网| 国产色伊人| 三级毛片在线播放| 九九九国产| 亚洲床戏一区| 国产视频自拍一区| 国产精品冒白浆免费视频|