溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

發(fā)布時(shí)間:2021-09-30 10:52:53 來源:億速云 閱讀:105 作者:柒染 欄目:編程語言

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

Python和JavaScript

這兩種語言非常流行且功能強(qiáng)大,但是它們之間確實(shí)存在關(guān)鍵差異,我們將在這里詳細(xì)介紹它們。

讓我們開始! ?

Python VS JavaScript:實(shí)際應(yīng)用

我們將從快速瀏覽它們的實(shí)際應(yīng)用程序開始。

Python

由于其強(qiáng)大的功能和多功能性,Python已經(jīng)成為世界上幾乎每一個(gè)科學(xué)應(yīng)用程序中必不可少的工具,它是一種支持不同編程范式的通用編程語言。

它廣泛用于科學(xué)和專業(yè)應(yīng)用,包括數(shù)據(jù)科學(xué)、人工智能、機(jī)器學(xué)習(xí)、計(jì)算機(jī)科學(xué)教育、計(jì)算機(jī)視覺和圖像處理、醫(yī)學(xué)、生物學(xué)甚至天文學(xué)。

它還用于Web開發(fā),這是我們可以開始將其應(yīng)用程序與JavaScript應(yīng)用程序進(jìn)行比較的地方。Python用于后端開發(fā),這是Web開發(fā)領(lǐng)域,負(fù)責(zé)創(chuàng)建用戶看不見的元素,例如應(yīng)用程序的服務(wù)器端。

JavaScript

盡管可以使用Python開發(fā)Web應(yīng)用程序的后端部分,但是可以使用JavaScript開發(fā)應(yīng)用程序的后端和前端。

前端是用戶看到并與之交互的應(yīng)用程序部分。每當(dāng)你看到網(wǎng)站或Web應(yīng)用程序或與之交互時(shí),即在“幕后”使用JavaScript。

同樣,當(dāng)你與移動(dòng)應(yīng)用程序進(jìn)行交互時(shí),你可能會(huì)使用JavaScript,因?yàn)橄馬eact  Native這樣的框架使我們可以編寫適應(yīng)不同平臺(tái)的應(yīng)用程序。

JavaScript在Web開發(fā)中應(yīng)用如此廣泛,是因?yàn)樗且环N多功能語言,為我們提供了開發(fā)web應(yīng)用程序組件所需的工具。

Python和JavaScript應(yīng)用程序之間的差異

簡(jiǎn)而言之,開發(fā)人員將Python用于一系列科學(xué)應(yīng)用程序。他們使用JavaScript進(jìn)行web開發(fā)、面向用戶的功能和服務(wù)器。

Python VS JavaScript: 語法

現(xiàn)在你知道了它們的用途,讓我們看看它們是如何編寫的以及它們的語法差異。

我們將討論它們?cè)谥饕厣系牟町悾?/p>

  • 代碼塊

  • 變量定義

  • 變量命名約定

  • 常量

  • 數(shù)據(jù)類型和值

  • 注釋

  • 內(nèi)置數(shù)據(jù)結(jié)構(gòu)

  • 操作符

  • 輸入/輸出

  • 條件語句

  • For循環(huán)和While循環(huán)

  • 函數(shù)

  • 面向?qū)ο缶幊?/p>

Python和JavaScript中的代碼塊

每種編程語言都有自己的樣式來定義代碼塊,讓我們看看它們?cè)赑ython和JavaScript中的區(qū)別:

Python如何定義代碼塊

Python依靠縮進(jìn)來定義代碼塊。當(dāng)一系列連續(xù)的代碼行在同一級(jí)別縮進(jìn)時(shí),它們被視為同一代碼塊的一部分。

我們使用它來定義條件,函數(shù),循環(huán)以及Python中基本上每個(gè)復(fù)合語句。

這些是一些示例:

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

使用縮進(jìn)定義Python中的代碼塊

提示: 稍后,我們將看到Python和JavaScript中這些元素之間的特定差異。目前,請(qǐng)注意縮進(jìn)。

JavaScript如何定義代碼塊相反,在JavaScript中,我們使用花括號(hào)({})對(duì)屬于同一代碼塊的語句進(jìn)行分組。

這些是一些示例:

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

使用花括號(hào)在JavaScript中定義代碼塊

Python和JavaScript中的變量定義賦值語句是任何編程語言中最基本的語句之一。讓我們看看如何在Python和JavaScript中定義變量。

如何在Python中定義變量

要在Python中定義變量,我們要寫出變量的名稱,后跟等號(hào)(=)和將分配給該變量的值。

像這樣:

<variable_name> = <value>

例如:

x = 5

如何在JavaScript中定義變量

語法在JavaScript中非常相似,但是我們只需要在變量名稱前添加關(guān)鍵字 var 并以分號(hào)(;)結(jié)尾即可。

像這樣:

var <variable_name> = <value>;

例如:

var x = 5;

我們還可以使用關(guān)鍵字 let:

let <variable_name> = <value>;

例如:

let x = 5;

提示: 在這種情況下,當(dāng)我們使用let時(shí),變量將具有塊作用域。它只會(huì)在定義它的代碼塊中被識(shí)別。

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

Python和JavaScript中的變量定義

提示: 在JavaScript中,語句的末尾用分號(hào)( ; )來標(biāo)記,但在Python中,我們只需以新行開始,以標(biāo)記語句的結(jié)束。

Python和JavaScript中的變量命名約定Python和JavaScript遵循兩種不同的變量命名約定。

如何在Python中命名變量

在Python中,我們應(yīng)該使用 snake_case 命名樣式。

根據(jù)Python樣式指南:

變量名與函數(shù)名遵循相同的約定。

函數(shù)名稱應(yīng)小寫,必要時(shí)用下劃線分隔單詞以提高可讀性。

因此,Python中的典型變量名稱如下所示:

first_name

提示: 樣式指南還提到:“僅在已經(jīng)是主流樣式的上下文中才允許使用 mixedCase,以保持向后兼容?!?/p>

如何在JavaScript中命名變量

相反,我們應(yīng)該在JavaScript中使用 lowerCamelCase  命名樣式,名稱以小寫字母開頭,然后每個(gè)新單詞以大寫字母開頭。

根據(jù)MDN Web文檔的JavaScript準(zhǔn)則文章:

對(duì)于變量名,請(qǐng)使用lowerCamelCasing,并在適當(dāng)?shù)牡胤绞褂煤?jiǎn)潔的、易于閱讀的語義名稱。

因此,JavaScript中的典型變量名稱應(yīng)如下所示:

firstName

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

Python和JavaScript中的常量

太好了?,F(xiàn)在你對(duì)變量有了更多的了解,我們來談?wù)劤A?,常量是在程序?zhí)行期間不能更改的值。

如何在Python中定義常量在Python中,我們依賴于命名約定來定義常量,因?yàn)樵撜Z言中沒有嚴(yán)格的規(guī)則可以防止更改其值。

根據(jù)Python樣式指南:

常量通常在模塊級(jí)別定義,并以所有大寫字母書寫,并用下劃線分隔單詞。

這是我們用于在Python中定義常量的命名方式:

CONSTANT_NAME

例如:

TAX_RATE_PERCENTAGE = 32

提示: 這對(duì)我們自己和其他開發(fā)人員來說是一個(gè)紅色警告,指示不應(yīng)在程序中修改此值。但是從技術(shù)上講,該值仍然可以修改。

如何在JavaScript中定義常量

相反,在JavaScript中,我們可以定義不能在程序中更改的常量,并且不能重新分配變量標(biāo)識(shí)符。

但這并不意味著值本身不能更改。

根據(jù)MDN Web文檔中的 const 文章:

const  聲明創(chuàng)建對(duì)值的只讀引用。這并不意味著它持有的值是不可變的&mdash;&mdash;只是不能重新分配變量標(biāo)識(shí)符。例如,在內(nèi)容是一個(gè)對(duì)象的情況下,這意味著對(duì)象的內(nèi)容(例如,它的屬性)可以被更改。

要在JavaScript中定義常量,我們?cè)谧兞棵Q之前添加關(guān)鍵字 const:

const TAX_RATE_PERCENTAGE = 32;

如果嘗試更改常量的值,則會(huì)看到此錯(cuò)誤:

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

因此,該值不能更改。

提示: 要運(yùn)行和測(cè)試JavaScript代碼的小片段,可以使用Chrome開發(fā)者工具中的控制臺(tái)。

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

Python和JavaScript中的數(shù)據(jù)類型和值

讓我們看看Python和JavaScript數(shù)據(jù)類型之間的主要區(qū)別。

數(shù)值數(shù)據(jù)類型Python具有三種數(shù)值類型,可幫助我們?yōu)榭茖W(xué)目的執(zhí)行精確的計(jì)算,這些數(shù)字類型包括:int(整數(shù))、float(浮點(diǎn)數(shù))和complex  (復(fù)數(shù))。它們都有自己的屬性、特征和應(yīng)用。

相比之下,JavaScript只有兩種數(shù)字類型:Number 和 BigInt,整數(shù)和浮點(diǎn)數(shù)都被認(rèn)為是 Number 類型的。

根據(jù)MDN Web Docs中的Number文章:

像JavaScript代碼中的 37  這樣的數(shù)字文本是一個(gè)浮點(diǎn)值,而不是整數(shù)。日常使用中沒有單獨(dú)的整數(shù)類型。(JavaScript現(xiàn)在具有BigInt類型,但并非旨在代替Number日常使用。37  仍然是Number,而不是BigInt。)

None vs. null

在Python中,有一個(gè)特殊的值 None,我們通常使用它來指示變量在程序中的特定位置沒有值。

JavaScript中的等效值為 null,“表示有意缺少任何對(duì)象值”。

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

undefined值

在JavaScript中,我們有一個(gè)特殊的值,當(dāng)我們聲明變量而不分配初始值時(shí),該值會(huì)自動(dòng)分配。

這是一個(gè)例子:

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

如你所見,變量 x 的值是 undefined。

在Python中,你必須為變量分配一個(gè)初始值,沒有初始值就無法聲明它。

提示: 你可以在Python中將 None 分配為變量的初始值,以表示缺少值。

Python和JavaScript中的原始數(shù)據(jù)類型

原始數(shù)據(jù)類型代表我們可以在編程語言中使用的最基本的值。讓我們比較一下這兩種語言的原始數(shù)據(jù)類型:

  • Python有四種原始數(shù)據(jù)類型:整數(shù)(int)、浮點(diǎn)數(shù)(float)、布爾值(bool)和字符串(str)。

  • JavaScript具有六種原始數(shù)據(jù)類型:未定義(  undefined)、布爾值(Boolean)、字符串(String)、數(shù)字(Number)、BigInt和符號(hào)( Symbol)。

如何用Python和JavaScript編寫注釋

注釋對(duì)于編寫簡(jiǎn)潔易讀的代碼非常重要。讓我們看看如何在Python和JavaScript中使用它們:

單行注釋

  • 在Python中,我們使用井號(hào)(#)編寫注釋,該符號(hào)之后同一行上的所有字符均被視為注釋的一部分。

  • 在JavaScript中,我們寫兩個(gè)斜杠(//)來開始單行注釋。

這是一個(gè)圖形示例:

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

在Python中:

# Comment

在JavaScript中:

// Comment

多行注釋

  • 在Python中,要編寫多行注釋,我們以井號(hào)標(biāo)簽開始每一行。

  • 在JavaScript中,多行注釋以/* 開頭,并以 */ 結(jié)尾,這些符號(hào)之間的所有字符均視為注釋的一部分。

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

在Python中:

# Multi-line comment  # in Python to explain # the code in detail.

在JavaScript中:

/*  Multi-line comment  in JavaScript to explain  the code in detail. */

Python和JavaScript中的內(nèi)置數(shù)據(jù)結(jié)構(gòu)

Python和JavaScript中的內(nèi)置數(shù)據(jù)結(jié)構(gòu)也有關(guān)鍵區(qū)別。

元組(Tuples)

  • 在Python中,我們有一個(gè)稱為 tuple  的內(nèi)置數(shù)據(jù)結(jié)構(gòu),它與列表非常相似,但不可變。因此,在程序執(zhí)行期間無法更改它,因此它用于存儲(chǔ)不應(yīng)修改的數(shù)據(jù)。

  • 在JavaScript中,沒有具有這些特征的內(nèi)置數(shù)據(jù)結(jié)構(gòu),盡管你可以使用語言的某些功能來實(shí)現(xiàn)類似的數(shù)據(jù)結(jié)構(gòu)。

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

列表(Lists) vs.  數(shù)組(Arrays)

  • 在Python中,列表用于在同一數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)一系列值??梢栽诔绦蛑袑?duì)其進(jìn)行修改、索引、切片和使用。

  • 在JavaScript中,此數(shù)據(jù)結(jié)構(gòu)的等效版本稱為array。

這是一個(gè)例子:

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

哈希表(Hash  Tables)

  • 在Python中,有一個(gè)稱為**字典(dictionary)**的內(nèi)置數(shù)據(jù)結(jié)構(gòu),可幫助我們將某些值映射到其他值并創(chuàng)建鍵值對(duì),這可用作哈希表。

  • JavaScript沒有這種類型的內(nèi)置數(shù)據(jù)結(jié)構(gòu),但是有某些方法可以使用語言的某些元素來重現(xiàn)其功能。

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

Python和JavaScript中的運(yùn)算符運(yùn)算符

對(duì)于以任何編程語言編寫表達(dá)式都是必不可少的,讓我們看看它們?cè)赑ython和JavaScript中的主要區(qū)別。

向下取整除

盡管大多數(shù)算術(shù)運(yùn)算符在Python和JavaScript中的工作原理完全相同,但向下取整除運(yùn)算符卻略有不同。

  • 在Python中,底數(shù)分割操作(也稱為“整數(shù)除法”)用雙斜杠(//)表示。

  • 在JavaScript中,我們沒有特定的向下取整除運(yùn)算符。相反,我們調(diào)用 Math.floor()方法將結(jié)果四舍五入到最接近的整數(shù)。

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

比較值和類型

在Python中,我們使用 == 運(yùn)算符比較兩個(gè)值及其數(shù)據(jù)類型是否相等。

例如:

# Comparing Two Integers >>> 0 == 0      True # Comparing Integer to String >>> 0 == "0" False

在JavaScript中,我們也有此運(yùn)算符,但它的工作方式略有不同,因?yàn)樗趯?shí)際執(zhí)行比較之前將兩個(gè)對(duì)象轉(zhuǎn)換為相同的類型。

如果我們使用JavaScript( 0 == '0')檢查上一個(gè)示例的“整數(shù)與字符串”比較的結(jié)果,則結(jié)果為 True 而不是  False,因?yàn)樵诒容^之前將值轉(zhuǎn)換為相同的數(shù)據(jù)類型:

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

在JavaScript中,要檢查值和數(shù)據(jù)類型是否相等,我們需要使用此運(yùn)算符 ===(三重等號(hào))。

現(xiàn)在我們得到了預(yù)期的結(jié)果:

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

太好了吧?

提示:Python中的 == 運(yùn)算符的工作方式類似于JavaScript中的 === 運(yùn)算符。

邏輯運(yùn)算符

  • 在Python中,三個(gè)邏輯運(yùn)算符是:and、or、和 not。

  • 在JavaScript中,這些運(yùn)算符為:&&、|| 和 !。

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

類型運(yùn)算符

  • 在Python中,要檢查對(duì)象的類型,我們使用 type() 函數(shù)。

  • 在JavaScript中,我們使用 typeof 運(yùn)算符。

這是它們語法的圖形描述:

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

Python和JavaScript的輸入和輸出

要求用戶輸入并向用戶顯示值是非常常見的操作,讓我們看看如何用Python和JavaScript做到這一點(diǎn):

輸入

  • 在Python中,我們使用 input() 函數(shù)請(qǐng)求用戶輸入,我們將消息寫在括號(hào)內(nèi)。

  • 在JavaScript中,一種替代方法(如果正在瀏覽器上運(yùn)行代碼)是顯示帶有  window.prompt(message)的小提示,并將結(jié)果分配給變量。

這兩種方法的主要區(qū)別在于,在Python中,用戶會(huì)被提示在控制臺(tái)中輸入一個(gè)值,而在JavaScript中,瀏覽器上會(huì)顯示一個(gè)小的提示符,它會(huì)要求用戶輸入一個(gè)值。

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

? 提示:你將在Python控制臺(tái)中看到以下輸入值:

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

在JavaScript中,如果你打開Chrome Developer工具并在控制臺(tái)中輸入以下代碼行:

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

此提示符將顯示:

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

調(diào)用window.prompt()時(shí)顯示的提示

輸出

  • 在Python中,我們使用 print() 函數(shù)將值打印到控制臺(tái),并在括號(hào)內(nèi)傳遞該值。

  • 在JavaScript中,我們使用 console.log() 將值打印到控制臺(tái),并在括號(hào)內(nèi)傳遞該值。

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

提示:如果你使用的是瀏覽器,則還可以調(diào)用 alert() 以顯示一個(gè)小提示,并在括號(hào)內(nèi)傳遞消息(或值)。

Python和JavaScript中的條件語句

使用條件,我們可以根據(jù)特定條件是 True 還是 False  選擇程序中發(fā)生的事情,讓我們看看它們?cè)赑ython和JavaScript中的區(qū)別。

if語句

  • 在Python中,我們依靠縮進(jìn)來指示哪些代碼行屬于條件代碼。

  • 在JavaScript中,必須用括號(hào)將條件括起來,用花括號(hào)將代碼括起來,該代碼也應(yīng)縮進(jìn)。

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

有條件的使用Python(左)和JavaScript(右)

if/else語句

兩種語言中的else子句非常相似,唯一的區(qū)別是:

  • 在Python中,我們?cè)?else 關(guān)鍵字后寫一個(gè)冒號(hào)(:)

  • 在JavaScript中,我們用花括號(hào)({})將屬于此子句的代碼括起來。

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

多種條件

要編寫多個(gè)條件:

  • 在Python中,我們編寫關(guān)鍵字 elif 后跟條件。條件之后,我們編寫一個(gè)冒號(hào)(:),并在下一行縮進(jìn)代碼。

  • 在JavaScript中,如果條件之后(由括號(hào)包圍),我們將編寫關(guān)鍵字 else if 。條件完成后,我們編寫花括號(hào)并在括號(hào)內(nèi)縮進(jìn)代碼。


Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

Switch in JavaScript

  • 在JavaScript中,我們還有一個(gè)額外的控件結(jié)構(gòu),可用于根據(jù)表達(dá)式的值選擇要發(fā)生的事情,該語句稱為  switch。

  • Python沒有這種類型的內(nèi)置控件結(jié)構(gòu)。

這是該語句的一般語法:

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

JavaScript中的switch語句

在JavaScript中:

switch (expression) {   case value1:     // Code     break;   case value2:     // Code     break;   case value3:     // Code     break;   default:     // Code }

提示:我們可以根據(jù)需要添加任意多個(gè)case,并且表達(dá)式可以是變量。

Python和JavaScript中的For循環(huán)和While循環(huán)

現(xiàn)在讓我們看看如何在Python和JavaScript中定義不同類型的循環(huán)以及它們的主要區(qū)別。

For循環(huán)

在Python中定義for循環(huán)的語法比JavaScript中的語法相對(duì)簡(jiǎn)單。

  • 在Python中,我們編寫關(guān)鍵字 for,后跟循環(huán)變量的名稱,關(guān)鍵字 in 以及對(duì) range()  函數(shù)的調(diào)用,以指定必要的參數(shù)。然后,我們編寫一個(gè)冒號(hào)(:),后跟縮進(jìn)的循環(huán)體。

  • 在JavaScript中,我們必須明確指定幾個(gè)值。我們以 for 關(guān)鍵字開頭,后跟括號(hào),在這些括號(hào)內(nèi),我們定義循環(huán)變量及其初始值,必須為 False  的條件以停止循環(huán),以及如何在每次迭代中更新該變量。然后,編寫花括號(hào)以創(chuàng)建代碼塊,然后在花括號(hào)內(nèi)編寫縮進(jìn)的循環(huán)主體。

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

Python(左)和JavaScript(右)中的For循環(huán)

遍歷可迭代對(duì)象

我們可以在Python和JavaScript中使用for循環(huán)來迭代可迭代的元素。

  • 在Python中,我們編寫關(guān)鍵字 for,后跟循環(huán)變量,in 關(guān)鍵字和iterable。然后,我們編寫一個(gè)冒號(hào)(:)和循環(huán)主體(縮進(jìn))。

  • 在JavaScript中,我們可以使用 for .. of 循環(huán)。我們先寫 for 關(guān)鍵字,后跟括號(hào),然后在這些括號(hào)內(nèi),寫關(guān)鍵字  var,后跟循環(huán)變量,關(guān)鍵字 of 和iterable。我們用花括號(hào)將循環(huán)的主體括起來,然后縮進(jìn)它。

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

在JavaScript中,我們還有 for .. in 循環(huán)可循環(huán)訪問對(duì)象的屬性。

根據(jù)MDN Web文檔:

for ... in 語句迭代對(duì)象的所有可枚舉屬性(包括繼承的可枚舉屬性),這些可枚舉屬性由字符串鍵入(忽略由Symbol鍵入的屬性)。

這是一個(gè)例子:

const object = { a: 1, b: 2, c: 3 };  for (const property in object) {   console.log(property, object[property]); }

當(dāng)我們?cè)贑hrome開發(fā)者工具的控制臺(tái)中運(yùn)行此代碼時(shí),輸出為:

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

While循環(huán)

While循環(huán)在Python和JavaScript中非常相似。

在Python中,我們先寫 while 關(guān)鍵詞,后跟條件,冒號(hào)(:),并在新行中寫出循環(huán)體(縮進(jìn))。

在JavaScript中,語法非常相似。所不同的是,我們必須用括號(hào)將條件括起來,并用花括號(hào)將循環(huán)的主體括起來。

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

Python(左)和JavaScript(右)中的While循環(huán)

JavaScript中的do..while循環(huán)

在JavaScript中,我們還有一種Python不存在的循環(huán)類型。

這種循環(huán)稱為 do..while 循環(huán),因?yàn)樗辽賵?zhí)行一次操作,并且在條件為 True 時(shí)繼續(xù)運(yùn)行。

這是基本語法:

do {   // Code } while (condition);

提示:這種類型的循環(huán)保證代碼將至少執(zhí)行一次。

當(dāng)我們要求用戶輸入時(shí),這是特別有用的,因?yàn)橛脩魧⒈惶崾据斎?。如果輸入是有效的,我們可以繼續(xù)這個(gè)程序。但是如果它無效,我們可以提示用戶再次輸入該值,直到它有效為止。

Python和JavaScript中的函數(shù)

對(duì)于編寫簡(jiǎn)潔,可維護(hù)和可讀的程序,函數(shù)非常重要。語法在Python和JavaScript中非常相似,但讓我們分析它們的主要區(qū)別:

  • 在Python中,我們編寫關(guān)鍵字 def,后跟函數(shù)名稱,并在參數(shù)列表的括號(hào)內(nèi)。在此列表之后,我們編寫一個(gè)冒號(hào)(:)和函數(shù)主體(縮進(jìn))。

  • 在JavaScript中,唯一的區(qū)別是我們使用 function 關(guān)鍵字定義了一個(gè)函數(shù),并用花括號(hào)將函數(shù)的主體括起來。

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

此外,Python和JavaScript函數(shù)之間還有一個(gè)非常重要的區(qū)別:函數(shù)參數(shù)。

在Python中,傳遞給函數(shù)調(diào)用的參數(shù)數(shù)量必須與函數(shù)定義中定義的參數(shù)數(shù)量匹配。如果不是這種情況,將發(fā)生異常。

這是一個(gè)例子:

>>> def foo(x, y):     print(x, y)       >>> foo(3, 4, 5) Traceback (most recent call last):   File "<pyshell#3>", line 1, in <module>     foo(3, 4, 5) TypeError: foo() takes 2 positional arguments but 3 were given

在JavaScript中,這是沒有必要的,因?yàn)閰?shù)是可選的。你可以使用比函數(shù)定義中定義的參數(shù)更少或更多的參數(shù)來調(diào)用函數(shù)。默認(rèn)情況下,為缺少的參數(shù)分配  undefined 值,并且可以使用 arguments 對(duì)象訪問其他參數(shù)。

這是JavaScript中的示例:

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

注意如何使用三個(gè)參數(shù)調(diào)用函數(shù),但是函數(shù)定義的參數(shù)列表中僅包含兩個(gè)參數(shù)。

提示:要獲取傳遞給函數(shù)的參數(shù)數(shù)量,可以在函數(shù)內(nèi)使用 arguments.length。

使用Python和JavaScript進(jìn)行面向?qū)ο蟮木幊?/strong>

Python和JavaScript均支持面向?qū)ο蟮木幊?,因此讓我們看看如何?chuàng)建和使用此編程范例的主要元素。

類 Class

類定義的第一行在Python和JavaScript中非常相似。我們編寫關(guān)鍵字 class,后跟該類的名稱。

唯一的區(qū)別是:

  • 在Python中,在類名之后,我們寫一個(gè)冒號(hào)(:)

  • 在JavaScript中,我們用大括號(hào)({})包圍了類的內(nèi)容

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

Python(左)和JavaScript(右)中的類定義

提示:在Python和JavaScript中,類名應(yīng)以大寫字母開頭,每個(gè)單詞也應(yīng)以大寫字母開頭。

構(gòu)造函數(shù)和屬性

構(gòu)造函數(shù)是一種特殊的方法,當(dāng)創(chuàng)建類的新實(shí)例(新對(duì)象)時(shí)會(huì)調(diào)用該方法,它的主要目的是初始化實(shí)例的屬性。

  • 在Python中,用于初始化新實(shí)例的構(gòu)造函數(shù)稱為  init(帶有兩個(gè)前導(dǎo)下劃線和尾部下劃線)。創(chuàng)建類的實(shí)例以初始化其屬性時(shí),將自動(dòng)調(diào)用此方法。其參數(shù)列表定義了創(chuàng)建實(shí)例必須傳遞的值,該列表以 self  作為第一個(gè)參數(shù)開頭。

  • 在JavaScript中,構(gòu)造函數(shù)方法稱為 constructor 函數(shù),它也具有參數(shù)列表。

提示:在Python中,我們使用 self 來引用實(shí)例,而在JavaScript中,我們使用 this來引用實(shí)例。

要將值分配給Python中的屬性,我們使用以下語法:

self.attribute = value

相反,我們?cè)贘avaScript中使用以下語法:

this.attribute = value;

Python和JavaScript這兩種流行的編程語言之間的主要區(qū)別是什么

Python(左)和JavaScript(右)中的類示例

Python和JavaScript中的方法在Python中,我們使用 def 關(guān)鍵字定義方法,后跟它們的名稱以及括號(hào)內(nèi)的參數(shù)列表。此參數(shù)列表以 self  參數(shù)開頭,以引用正在調(diào)用該方法的實(shí)例。在此列表之后,我們編寫一個(gè)冒號(hào)(:),并將該方法的主體縮進(jìn)。

這是一個(gè)例子:

class Circle:      def __init__(self, radius, color):         self.radius = radius         self.color = color      def calc_diameter(self):         return self.radius * 2

在JavaScript中,方法是通過寫名稱,后跟參數(shù)列表和花括號(hào)來定義的。在花括號(hào)內(nèi),我們編寫方法的主體。

class Circle {    constructor(radius, color) {     this.radius = radius;     this.color = color;   }    calcDiameter() {     return this.radius * 2;   } }

實(shí)例

要?jiǎng)?chuàng)建類的實(shí)例:

在Python中,我們編寫類的名稱,并在括號(hào)內(nèi)傳遞參數(shù)

my_circle = Circle(5, "Red")

在JavaScript中,我們需要在類名之前添加 new 關(guān)鍵字。

my_circle = new Circle(5, "Red");


Python和JavaScript是功能強(qiáng)大的語言,具有不同的實(shí)際應(yīng)用程序。

Python可以用于web開發(fā)和廣泛的應(yīng)用程序,包括科學(xué)用途。JavaScript主要用于web開發(fā)(前端和后端)和移動(dòng)應(yīng)用開發(fā)。

它們具有重要的差異,但是它們都有我們編寫強(qiáng)大程序所需的相同基本元素。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI