中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript和Python的區別是什么

發布時間:2021-06-09 18:25:25 來源:億速云 閱讀:260 作者:Leah 欄目:web開發

JavaScript和Python的區別是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。


Python VS JavaScript:應用上的差異

Python

由于它的強大和通用性,Python已成為全世界幾乎所有科學應用中的重要工具。它是一種通用編程語言,支持不同的編程范式。

它被廣泛應用于科學和專業應用,包括數據科學、人工智能、機器學習、計算機科學教育、計算機視覺和圖像處理、醫學、生物學,甚至天文學。

另外,Python還被用于Web開發,雖然它主要用于后端開發,例如應用程序的服務器端。

JavaScript

Python可用于開發Web應用程序的后端部分,但JavaScript可用于開發Web應用程序的后端和前端。

前端是用戶看到并與之交互的應用程序的一部分。每當您看到網站或Web應用程序或與之交互時,這部分功能就是JavaScript在 “幕后”提供的。

同樣,當你與移動應用進行交互時,您可能會使用JavaScript,因為像React Native這樣的框架可以讓我們使用JavaScript編寫可適應不同平臺的應用程序。

JavaScript在Web開發中得到了如此廣泛的應用,因為它是一種多功能語言,為我們提供了開發Web應用程序組件所需的工具。

Python和JavaScript應用程序之間的差異

簡單來講,從應用程序角度來看,開發人員將Python用于開發科學應用程序,同時使用JavaScript進行Web開發及面向用戶的功能和服務器開發。

Python VS JavaScript: 語法差異

既然知道了它們在應用層面上用途的區別,那我們就來看看它們的寫法和語法上有什么差異,下面我們將通過以下主要元素上的差異。

  • 代碼塊

  • 變量定義

  • 變量命名協議

  • 常量

  • 數據類型和值

  • 注釋

  • 內置的數據結構

  • 運算符

  • 輸入/輸出

  • 條件語句

  • For循環和While循環

  • 函數

  • 面向對象的編程

Python和JavaScript中的代碼塊

每種編程語言都有自己的樣式來定義代碼塊。讓我們來看看它們在Python和JavaScript中的區別:

Python如何定義代碼塊

Python依靠縮進來定義代碼塊。當一系列連續的代碼行在同一級別縮進時,它們被視為同一代碼塊的一部分。

我們使用它來定義Python中的條件、函數、循環和所有的復合語句。

以下是示例:

JavaScript和Python的區別是什么

在Python中使用縮進定義代碼塊

JavaScript如何定義代碼塊

在JavaScript中,我們使用花括號({})將屬于同一代碼塊的語句分組。

以下是示例:

JavaScript和Python的區別是什么

使用花括號在JavaScript中定義代碼塊

Python和JavaScript中的變量定義

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

如何在Python中定義變量

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

<variable_name> = <value>

例如:

x = 5
如何在JavaScript中定義變量

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

var <variable_name> = <value>;

提示:當使用var定義變量時,該變量具有函數作用域。

var x = 5;

我們還可以使用關鍵字let

let <variable_name> = <value>;

例如:

let x = 5;

提示:當使用let定義變量時,變量將具有塊級作用域。它將僅在定義它的代碼塊中被識別。

JavaScript和Python的區別是什么

Python和JavaScript中的變量命名約定

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

如何在Python中命名變量

Python推薦使用蛇形命名法(snake_case)

根據Python樣式指南:

  • 變量名遵循與函數名相同的約定。

  • 函數名稱應小寫,必要時用下劃線分隔單詞以提高可讀性。

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

first_name
如何在JavaScript中命名變量

不過在JavaScript中,我們應該遵循小駱駝命名法(lowerCamelCase)為命名樣式,暨以首字母小寫,之后每個新單詞以大寫字母開頭。

根據MDN Web文檔的JavaScript準則文章:

對于變量名,請使用lowerCamelCasing,并在適當的地方使用簡潔的,易于理解的語義名稱。

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

firstName

JavaScript和Python的區別是什么

Python和JavaScript中的常量

下面讓我們來討論一下常量。常量是在程序執行期間不能更改的值。

如何在Python中定義常量

在Python中,我們依靠命名規則來定義常量,因為語言中沒有嚴格的規則來防止更改它們的值。

根據Python樣式指南:

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

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

CONSTANT_NAME

例如:

TAX_RATE_PERCENTAGE = 32

這樣的命名規則只是從規則上為自己和其他開發人員做了約定,該值不應在程序中進行修改,但從技術上講,該值是可以被更改的。

如何在JavaScript中定義常量

在JavaScript中,我們可以定義不能在程序中更改的常量,并且不能重新分配變量標識符。

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

根據這篇文章constMDN的Web文檔

const聲明創建了一個對值的只讀引用,這并不意味著它所擁有的值是不可改變的--只是變量標識符不能重新分配。例如,在內容是對象的情況下,這意味著對象的內容(例如,它的屬性)可以被改變。

要在JavaScript中定義常量,我們const 在變量名稱之前添加關鍵字:

const TAX_RATE_PERCENTAGE = 32;

如果嘗試更改常量的值,則會看到此錯誤:

JavaScript和Python的區別是什么

JavaScript和Python的區別是什么

Python和JavaScript中的數據類型和值

數值數據類型

Python有三種數值類型,可以幫助我們出于科學目的執行精確計算。這些數值類型包括:int (整數)、 float (浮點數)和complex。它們中的每一個都有自己的屬性、特征和應用。

而JavaScript只有兩種數值類型:Number和BigInt。整數和浮點數都被認為是Number類型。

None vs. null

在Python中,有一個名為None的特殊值,我們通常用它來指示變量在程序中的某個特定點沒有值。

JavaScript中的等效值為null,這表示不存在任何對象值。

JavaScript和Python的區別是什么

undefined 值

JavaScript中,我們有一個特殊值,當我們聲明變量而不分配初始值時會自動分配一個特殊值,它就是undefined。

以下是示例:

JavaScript和Python的區別是什么

Python中,你必須為變量分配一個初始值。沒有初始值就無法聲明它。你可以講None指定為Python變量的初始值,以表示缺少值。

Python和JavaScript中的基礎數據類型

基礎數據類型表示我們可以在編程語言中處理的最基本的值。讓我們比較一下這兩種語言的基礎數據類型:

  • Python具有四種基礎數據類型:整數(int),浮點數(float),布爾值(bool)和字符串(str)。

  • JavaScript具有六種原始數據類型:undefined,布爾值,字符串,數字BigIntSymbol

如何用Python和JavaScript編寫注釋

注釋對于編寫簡潔易讀的代碼非常重要。讓我們看看在Python和JavaScript中的注釋分別是什么樣的吧:

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

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

JavaScript和Python的區別是什么

多行注釋
  • Python中,要編寫多行注釋,我們要對每一行程序前都加上#號,以標識這行為注釋。

  • JavaScript中,多行注釋以/*開頭,以*/結束。這些符號之間的所有字符都被視為注釋的一部分。

JavaScript和Python的區別是什么

Python和JavaScript中的內置數據結構

Tuples
  • 在Python中,我們有一個內置的數據結構,叫做元組,它和列表非常相似,但是不可更改。因此,它在程序執行過程中不能被改變,所以它被用來存儲那些不應該被修改的數據。

  • 在JavaScript中,并沒有一個內置的具有這些特性的數據結構。雖然你可以通過語言的某些特性來實現類似的數據結構。

JavaScript和Python的區別是什么

列表List與數組Array
  • Python中, List用于在同一數據結構中存儲一系列值。可以在程序中對其進行修改,索引和使用。

  • JavaScript中,可實現類似功能的數據結構稱為Array

JavaScript和Python的區別是什么

哈希表
  • Python中,有一個稱為字典的內置數據結構,可幫助我們將某些值映射到其他值并創建鍵值對。可用作哈希表使用。

  • JavaScript沒有這種類型的內置數據結構,但是有某些方法可以使用語言的某些元素來重現其功能。

JavaScript和Python的區別是什么

Python和JavaScript中的運算符

取整除

盡管大多數算術運算符在Python和JavaScript間的工作原理和使用方式完全相同,但在進行整除時卻略有不同。

  • Python中,用雙斜杠(//)進行整除運算。

  • JavaScript中,沒有特定的取整除的運算符。但我們可以通過調用Math.floor()方法將結果四舍五入為最接近的整數。

JavaScript和Python的區別是什么

比較值和類型

Python中,我們使用==運算符比較兩個值及其數據類型是否相等。

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

JavaScript中,的==運算符,它的執行工作原理是在比較之前將兩個對象轉換為相同的類型。

如果我們使用JavaScript(0 == "0")檢查上一個示例的“整數與字符串”比較的結果,則結果是True而不是False,因為在比較之前將值轉換為相同的數據類型:

JavaScript和Python的區別是什么

在JavaScript中,要檢查值數據類型是否相等,我們需要使用另外一個運算符===(三等號)。

JavaScript和Python的區別是什么JavaScript和Python的區別是什么

邏輯運算符
  • Python中,有:andor,和not這三個邏輯運算符。

  • JavaScript中,則是:&&||!

JavaScript和Python的區別是什么

類型運算符
  • Python中,要檢查對象的類型,可以使用type()函數。

  • JavaScript中,我們使用typeof運算符。

JavaScript和Python的區別是什么

Python和JavaScript的輸入和輸出

要求用戶輸入和向用戶顯示值在應用中是非常常見的操作。讓我們看看在Python和JavaScript中分別是如何表示的。

輸入
  • Python中,我們使用該input()函數來請求用戶輸入。我們將消息寫在括號內。

  • JavaScript中,如果是正在瀏覽器上運行代碼可使用prompt作為輸入方案(就是這樣不是常用方案罷了),window.prompt(message) 在輸入完成后,將結果分配給變量。

兩種方法之間的主要區別在于,在Python中,將提示用戶在控制臺中輸入值,而在JavaScript中,瀏覽器中將顯示一個小提示,并要求用戶輸入值。

JavaScript和Python的區別是什么

JavaScript和Python的區別是什么

在JavaScript中,如果您打開Chrome Developer工具并在控制臺中輸入以下代碼:

JavaScript和Python的區別是什么

將顯示如下圖提示

JavaScript和Python的區別是什么

輸出
  • Python中,我們使用print()函數將值打印到控制臺。

  • JavaScript中,我們使用console.log()向控制臺打印一個值。

JavaScript和Python的區別是什么

Python和JavaScript中的條件語句

通過條件語句,我們可以根據特定條件來選擇程序后續將要執行的部分。

if 語句
  • Python中,我們依靠縮進來指示哪些代碼行屬于條件代碼。

  • JavaScript中,必須用括號將條件括起來,用花括號將代碼括起來。該代碼也應縮進。

JavaScript和Python的區別是什么

if/else 語句

else子句在兩種語言中都非常相似。唯一的區別是:

  • Python中 我們在else關鍵字之后寫一個冒號(:)

  • JavaScript中 我們用大括號({})將屬于該子句的代碼括起來。

JavaScript和Python的區別是什么

多條件語句
  • 在Python中,我們在條件后面寫關鍵字elif。在條件之后,我們寫一個冒號(:),代碼縮進下一行。

  • 在JavaScript中,我們編寫關鍵字Else if,后跟條件(用圓括號括起來)。條件結束后,我們編寫花括號,并在花括號中縮進代碼。

JavaScript和Python的區別是什么

Switch 語句
  • 在JavaScript中,我們有一個額外的控制語句,可以用來根據表達式的值選擇要執行的操作。此語句稱為switch

  • Python沒有這種類型的語句。

JavaScript和Python的區別是什么

Python和JavaScript中的For循環和While循環

下面讓我們看看如何在Python和JavaScript中定義不同類型的循環以及它們的主要區別。

循環

在Python中定義for循環的語法比JavaScript中的語法相對簡單。

  • Python中,我們在關鍵字 for 后面寫循環變量的名稱,關鍵字 in,及調用 range() 函數,指定必要的參數。然后,我們寫一個冒號(:),后面是縮進的循環主體。

  • 在JavaScript中,我們必須明確地指定幾個值。我們用for關鍵字開始,后面是括號。在這些括號中,我們定義了循環變量的初始值,必須為False才能停止循環的條件,以及如何在每次迭代時更新變量。然后,我們寫大括號來創建一個代碼塊,在大括號內我們寫出循環的主體縮進。

JavaScript和Python的區別是什么

遍歷可迭代對象

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

  • 在 Python 中,我們在關鍵字 for 后面寫上循環變量、in 關鍵字和迭代符。然后,我們寫一個冒號(:)和循環的主體(縮進)。

  • 在JavaScript中,我們可以使用一個for ... 的循環。我們在for關鍵字后面寫上小括號,在小括號內寫上關鍵字var,后面寫上循環變量、關鍵字of和可迭代。我們用大括號包圍循環的主體,然后縮進。

JavaScript和Python的區別是什么

While循環
  • 在Python中,我們在關鍵字while后面寫上條件、冒號(:),然后在新的一行中寫上循環的主體(縮進)。

  • 在JavaScript中,語法非常相似。不同的是,我們必須用括號包圍條件,用大括號將循環體括起來。

JavaScript和Python的區別是什么

do..while 循環

JavaScript中,還有一種Python不存在的循環類型。

這種類型的循環稱為do..while循環,因為它至少執行一次操作,并在條件為時繼續運行True。

do {
    // Code
} while (condition);

Python和JavaScript中的函數

函數對于寫出簡潔、可維護和可讀的程序非常重要。Python和JavaScript中的語法非常相似,但讓我們分析一下它們的主要區別:

  • 在 Python 中,我們在關鍵字 def 后面寫上函數的名稱,并在括號中寫上參數列表。在這個列表之后,我們寫一個冒號(:)和函數的主體(縮進)。

  • 在JavaScript中,唯一不同的是,我們使用function關鍵字定義函數,并在函數的主體周圍加上大括號。

JavaScript和Python的區別是什么

函數參數的數量
  • 在 Python 中,傳遞給函數調用的參數數必須與函數定義中定義的參數數相匹配。如果不是這樣,就會發生異常。

  • 在JavaScript中,這不是必需的,因為參數是可選的。您可以使用比函數定義中定義的參數更少或更多的參數來調用函數。缺省的參數被賦予未定義的值,額外的參數可以通過Arguments對象訪問。

JavaScript和Python的區別是什么

Python和JavaScript進行面向對象的編程

Python和JavaScript都支持面向對象編程,所以讓我們看看如何創建和使用這種編程范例的主要元素。

Class

類定義的第一行在Python和JavaScript中非常相似。我們在關鍵字class后跟類的名稱。

唯一的區別是:

  • Python中,在類名之后,我們寫了一個冒號(:

  • JavaScript中,我們用大括號({})包圍了類的內容

JavaScript和Python的區別是什么

構造函數和屬性

構造函數是一種特殊的方法,當創建類的新實例(新對象)時會調用該方法。它的主要目的是初始化實例的屬性。

  • Python中,調用了初始化新實例的構造函數init (帶有兩個前導和尾隨下劃線)。創建類的實例以初始化其屬性時,將自動調用此方法。其參數列表定義了創建實例必須傳遞的值。該列表以self第一個參數開頭。

  • JavaScript中,構造函數方法被調用,constructor并且它還具有一個參數列表。

JavaScript和Python的區別是什么

Python和JavaScript中的方法

  • Python中,我們使用def關鍵字,其名稱和括號內的參數列表定義方法。此參數列表以參數開頭,self以引用正在調用該方法的實例。在此列表之后,我們編寫一個冒號(:),并將該方法的主體縮進。

  • JavaScript中,方法是通過編寫其名稱,后跟參數列表和花括號來定義的。在花括號內,我們編寫方法的主體。

實例

要創建類的實例:

  • Python中,我們編寫類的名稱,并在括號內傳遞參數。

my_circle = Circle(5, "Red")
  • JavaScript中,我們需要new在類名之前添加關鍵字。

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

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沙洋县| 湾仔区| 抚宁县| 阳西县| 天全县| 渑池县| 荃湾区| 竹山县| 衡水市| 米脂县| 抚顺县| 云龙县| 平定县| 洛宁县| 乡城县| 阿克陶县| 林口县| 云浮市| 岗巴县| 奇台县| 娱乐| 诸暨市| 开化县| 金乡县| 兴业县| 崇阳县| 东光县| 沿河| 阳信县| 灵璧县| 天祝| 共和县| 荣成市| 新平| 泰宁县| 连山| 苍山县| 阳江市| 天气| 调兵山市| 婺源县|