亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        吳俊杰

        (西安市第八十九中學,陜西西安,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++)連接在一起。一個常見的應用程序是使用Python來快速生成一個原型(有時甚至最終接口)的一個程序,然后重寫它一個更合適的語言,如圖形渲染模塊3d游戲,這是特別要求,可以在c/c++重寫,然后在Python封裝??烧{(diào)用的擴展類庫。特別注意,其在使用擴展類庫時,可能需要考慮關于平臺的問題,其中可能存在一些庫不提供跨平臺實現(xiàn)的問題[1]。

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

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

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

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

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

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

        (3)Python是一種適合初學者的語言:python語言簡潔易學適合初級程序員來學習,同時它可以支持大型應用程序開發(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ù)類型,語法結構,算術和比較運算符。JavaScript在幫助用戶處理數(shù)據(jù)和文件實際應用中,提供了四種基本的數(shù)據(jù)類型以及兩種特殊的數(shù)據(jù)類型。同時JavaScript利用變量存放信息,采用表達式來完成功能復雜的操作[5]。

        2 python與JavaScript語言的異同點

        ■2.1 Python與javascript的相同點

        這兩類語言都屬于腳本語言,也稱為擴展語言或動態(tài)語言,是用于控制軟件應用程序的編程語言。腳本通常存儲在文本(如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是被設計在客戶端上的一種腳本語言,因此主要應用在瀏覽器中,它的語言與java語言類似。Python具備高可讀,簡單易學,常被初學者喜歡,用在數(shù)據(jù)處理,機器學習當中比較多。

        (1)它們編程范式不相同。編程范式是計算機編程的一種基本風格,指導如何構建程序的結構和元素,簡言之,就是指計算機編程的基本風格或模型。從哲學的角度來說,如果每個程序員都在創(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ā)處理任務,但是這并沒有改變Javascript語言的的單線程限制。

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

        (3)數(shù)據(jù)類型的可變性不一樣。在Python語言中,一些數(shù)據(jù)類型是不可變的,這意味著一旦這些數(shù)據(jù)類型的變量被創(chuàng)建,都是不可修改的,如果修改就會返回新對象(python語言中一切皆是對象)。相比在Javascript語言中,所有數(shù)據(jù)類型被創(chuàng)建后也可以被更改。結合多線程的概念,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,為了適應中文就需要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ù)處理和人工智能上應用比較多。

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

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

        3 如何選擇python和JavaScript語言的應用

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

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

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

        圖1

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

        網(wǎng)絡爬蟲是一個程序或腳本自動抓取信息從萬維網(wǎng)根據(jù)某些規(guī)則。它廣泛應用于互聯(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慎用你的語言
        幻女bbwxxxx在线视频| 精品久久精品久久精品| 亚洲一区二区三区偷拍视频| 国产精品人人做人人爽人人添 | 国产精品久久熟女吞精| 日韩中文字幕有码午夜美女| 国产精品欧美一区二区三区| 女同啪啪免费网站www| 亚洲av影片一区二区三区| 少妇被黑人嗷嗷大叫视频| 久久精品国产精品| 日本免费人成视频播放| 国产偷拍盗摄一区二区| av熟妇一区二区三区| 男女爽爽无遮挡午夜视频| 国产精品原创巨作av无遮| 国内激情一区二区视频| 东北女人啪啪对白| 国产精品久久久久久52avav| 国产av一区二区三区区别| 国产亚洲3p一区二区| 国产午夜手机精彩视频| 国产成人精品午夜福利| 免费美女黄网站久久久| 丝袜美腿福利一区二区| 欧美性受xxxx白人性爽| 美女污污网站| 日本女同av在线播放| 强开少妇嫩苞又嫩又紧九色 | 日韩一区二区不卡av| 久久一区二区视频在线观看| 人妻在卧室被老板疯狂进入| 亚洲综合无码一区二区三区| 亚洲av午夜福利精品一区二区| 亚洲国产精品成人av网| 日本无码人妻波多野结衣| 欧美日韩免费一区中文字幕| 中文字幕在线亚洲精品一区| 寂寞少妇做spa按摩无码| 亚洲自偷自拍另类图片小说| 久久久99精品国产片|