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

        ?

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

        2019-02-14 08:51:24吳俊杰
        電子制作 2019年2期
        關鍵詞:腳本語言數據類型賦值

        吳俊杰

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

        Python是一類面向對象的解釋型的計算機編程語言,在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封裝??烧{用的擴展類庫。特別注意,其在使用擴展類庫時,可能需要考慮關于平臺的問題,其中可能存在一些庫不提供跨平臺實現的問題[1]。

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

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

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

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

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

        (2)Python是面向對象編程語言:python語言像java一樣支持面向對象的代碼風格,可以定義類,實例類為對象等。

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

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

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

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

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

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

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

        2 python與JavaScript語言的異同點

        ■2.1 Python與javascript的相同點

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

        ■2.2 python和javascript的不相同點

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

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

        Python與Javascript均支持很多不同的編程范例,但它們在面向對象編程方面差別很大。面向對象的Javascript是基于原型,對象繼承由prototype(和Object)創(chuàng)建,prototype對象創(chuàng)建的對象繼承原型鏈上的方法。Python是一種常規(guī)的基于類的繼承,自然支持多態(tài)性的語言。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        圖1

        ■3.2 利用python實現網絡爬蟲

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

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

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

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

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

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

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

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

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

        圖2

        猜你喜歡
        腳本語言數據類型賦值
        關于1 1/2 … 1/n的一類初等對稱函數的2-adic賦值
        L-代數上的賦值
        詳談Java中的基本數據類型與引用數據類型
        如何理解數據結構中的抽象數據類型
        數碼世界(2020年5期)2020-06-23 00:14:36
        強賦值幺半群上的加權Mealy機與加權Moore機的關系*
        一種面向SSC的電信增值業(yè)務的生成方法及實現
        基于Unity3D的坦克大戰(zhàn)游戲設計與實現
        利用賦值法解決抽象函數相關問題オ
        淺析計算機技術在flash動畫中的應用
        基于SiPESC平臺的Python擴展模塊開發(fā)
        av天堂最新在线播放| 99JK无码免费| 伊人久久婷婷综合五月97色| 中文av字幕一区二区三区| 乱人伦中文视频在线| 欧美性性性性性色大片免费的| 国产成人久久蜜一区二区| 精品久久人妻一区二区 | 九九在线中文字幕无码| 免费精品一区二区三区第35| 久久水蜜桃亚洲av无码精品麻豆| 成人av在线免费播放| 久久亚洲道色综合久久| 欧美极品色午夜在线视频| 亚洲午夜无码久久yy6080| 亚洲中文字幕亚洲中文| 久久亚洲av成人无码电影 | 青青草精品视频在线播放| 日韩成人无码| 日本在线中文字幕一区二区| 在线视频精品免费| 久久精品综合国产二区| 男男啪啪激烈高潮无遮挡网站网址 | 免费观看黄网站在线播放| 久久中文字幕日韩无码视频| 日本在线一区二区三区视频| 帅小伙自慰videogay男男| 亚洲精品成人网站在线观看| 天堂AV无码AV毛片毛| 日韩av天堂一区二区三区在线| 日韩精品成人无码专区免费| 93精91精品国产综合久久香蕉| 国产精东一区二区三区| 免费观看91色国产熟女| 内谢少妇xxxxx8老少交| 久草热这里只有精品在线| 国产三级av大全在线爽| 亚洲va无码va在线va天堂| 熟妇无码AV| av国产免费在线播放| 色综合av综合无码综合网站|