转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。javascript
原文出处:https://www.freecodecamp.org/news/python-vs-javascript-what-are-the-key-differences-between-the-two-popular-programming-languages/前端
JavaScript和Python这两种语言很是流行和强大,但它们在部分语法的使用上却有着一些不一样,若是你刚好对这些区别对比感兴趣,那么这篇文章中的内容可能会为你提供一些帮助。java
在本文中,你将了解到:python
因为它的强大和通用性,Python已成为全世界几乎全部科学应用中的重要工具。它是一种通用编程语言,支持不一样的编程范式。编程
它被普遍应用于科学和专业应用,包括数据科学、人工智能、机器学习、计算机科学教育、计算机视觉和图像处理、医学、生物学,甚至天文学。后端
另外,Python还被用于Web开发,虽然它主要用于后端开发,例如应用程序的服务器端。数组
Python可用于开发Web应用程序的后端部分,但JavaScript可用于开发Web应用程序的后端和前端。浏览器
前端是用户看到并与之交互的应用程序的一部分。每当您看到网站或Web应用程序或与之交互时,这部分功能就是JavaScript在 “幕后”提供的。服务器
一样,当你与移动应用进行交互时,您可能会使用JavaScript,由于像React Native这样的框架可让咱们使用JavaScript编写可适应不一样平台的应用程序。数据结构
JavaScript在Web开发中获得了如此普遍的应用,由于它是一种多功能语言,为咱们提供了开发Web应用程序组件所需的工具。
简单来说,从应用程序角度来看,开发人员将Python用于开发科学应用程序,同时使用JavaScript进行Web开发及面向用户的功能和服务器开发。
既然知道了它们在应用层面上用途的区别,那咱们就来看看它们的写法和语法上有什么差别,下面咱们将经过如下主要元素上的差别。
每种编程语言都有本身的样式来定义代码块。让咱们来看看它们在Python和JavaScript中的区别:
Python依靠缩进来定义代码块。当一系列连续的代码行在同一级别缩进时,它们被视为同一代码块的一部分。
咱们使用它来定义Python中的条件、函数、循环和全部的复合语句。
如下是示例:
在Python中使用缩进定义代码块
在JavaScript中,咱们使用花括号({})将属于同一代码块的语句分组。
如下是示例:
使用花括号在JavaScript中定义代码块
赋值语句是任何编程语言中最基本的语句之一。让咱们看看如何在Python和JavaScript中定义一个变量并对其赋值。
要在Python中定义变量,咱们要写出变量名,后跟等号(=)和将分配给该变量的值。
<variable_name> = <value>
例如
x = 5
语法在JavaScript中很是类似,可是咱们只须要var在变量名称以前添加关键字,并以分号(;)结尾便可。
var <variable_name> = <value>;
当使用var定义变量时,该变量具备函数做用域。
var x = 5;
咱们还可使用关键字let:
let <variable_name> = <value>;
例如:
let x = 5;
当使用let定义变量时,变量将具备块级做用域。它将仅在定义它的代码块中被识别。
Python和JavaScript遵循两种不一样的变量命名约定。
Python推荐使用蛇形命名法(snake_case)。
根据Python样式指南:
变量名遵循与函数名相同的约定。
函数名称应小写,必要时用下划线分隔单词以提升可读性。
所以,Python中的典型变量名称以下所示:
first_name
不过在JavaScript中,咱们应该遵循小骆驼命名法(lowerCamelCase)为命名样式,暨以首字母小写,以后每一个新单词以大写字母开头。
根据MDN Web文档的JavaScript准则文章:
对于变量名,请使用lowerCamelCasing,并在适当的地方使用简洁的,易于理解的语义名称。
所以,JavaScript中的典型变量名称应以下所示:
firstName
下面让咱们来讨论一下常量。常量是在程序执行期间不能更改的值。
在Python中,咱们依靠命名规则来定义常量,由于语言中没有严格的规则来防止更改它们的值。
根据Python样式指南:
常量一般在模块级别定义,并以全部大写字母书写,并用下划线分隔单词。
这是咱们用于在Python中定义常量的命名方式:
CONSTANT_NAME
例如:
TAX_RATE_PERCENTAGE = 32
这样的命名规则只是从规则上为本身和其余开发人员作了约定,该值不该在程序中进行修改,但从技术上讲,该值是能够被更改的。
在JavaScript中,咱们能够定义不能在程序中更改的常量,而且不能从新分配变量标识符。
但这并不意味着值自己不能更改。
根据这篇文章const的MDN的Web文档:
const声明建立了一个对值的只读引用,这并不意味着它所拥有的值是不可改变的--只是变量标识符不能从新分配。例如,在内容是对象的状况下,这意味着对象的内容(例如,它的属性)能够被改变。
要在JavaScript中定义常量,咱们const 在变量名称以前添加关键字:
const TAX_RATE_PERCENTAGE = 32;
若是尝试更改常量的值,则会看到此错误:
Python有三种数值类型,能够帮助咱们出于科学目的执行精确计算。这些数值类型包括:int (整数)、 float(浮点数)和complex。它们中的每个都有本身的属性、特征和应用。
而JavaScript只有两种数值类型:Number和BigInt。整数和浮点数都被认为是Number类型。
在Python中,有一个名为None的特殊值,咱们一般用它来指示变量在程序中的某个特定点没有值。
JavaScript中的等效值为null,这表示不存在任何对象值。
undefined
值在JavaScript中,咱们有一个特殊值,当咱们声明变量而不分配初始值时会自动分配一个特殊值,它就是undefined。
如下是示例:
在Python中,你必须为变量分配一个初始值。没有初始值就没法声明它。你能够讲None指定为Python变量的初始值,以表示缺乏值。
基础数据类型表示咱们能够在编程语言中处理的最基本的值。让咱们比较一下这两种语言的基础数据类型:
注释对于编写简洁易读的代码很是重要。让咱们看看在Python和JavaScript中的注释分别是什么样的吧:
尽管大多数算术运算符在Python和JavaScript间的工做原理和使用方式彻底相同,但在进行整除时却略有不一样。
在Python中,咱们使用==运算符比较两个值及其数据类型是否相等。
# Comparing Two Integers
>>> 0 == 0
True
# Comparing Integer to String
>>> 0 == "0"
False
在JavaScript中,的==运算符,它的执行工做原理是在比较以前将两个对象转换为相同的类型。
若是咱们使用JavaScript(0 == "0"
)检查上一个示例的“整数与字符串”比较的结果,则结果是True而不是False,由于在比较以前将值转换为相同的数据类型:
在JavaScript中,要检查值和数据类型是否相等,咱们须要使用另一个运算符===(三等号)。
要求用户输入和向用户显示值在应用中是很是常见的操做。让咱们看看在Python和JavaScript中分别是如何表示的。
两种方法之间的主要区别在于,在Python中,将提示用户在控制台中输入值,而在JavaScript中,浏览器中将显示一个小提示,并要求用户输入值。
在JavaScript中,若是您打开Chrome Developer工具并在控制台中输入如下代码:
将显示以下图提示
经过条件语句,咱们能够根据特定条件来选择程序后续将要执行的部分。
if
语句
if/else
语句else子句在两种语言中都很是类似。惟一的区别是:
下面让咱们看看如何在Python和JavaScript中定义不一样类型的循环以及它们的主要区别。
在Python中定义for循环的语法比JavaScript中的语法相对简单。
咱们能够在Python和JavaScript中使用for循环来迭代可迭代的元素。
do..while
循环在JavaScript中,还有一种Python不存在的循环类型。
这种类型的循环称为do..while循环,由于它至少执行一次操做,并在条件为时继续运行True
。
do {
// Code
} while (condition);
函数对于写出简洁、可维护和可读的程序很是重要。Python和JavaScript中的语法很是类似,但让咱们分析一下它们的主要区别:
Python和JavaScript都支持面向对象编程,因此让咱们看看如何建立和使用这种编程范例的主要元素。
类定义的第一行在Python和JavaScript中很是类似。咱们在关键字class后跟类的名称。
惟一的区别是:
构造函数是一种特殊的方法,当建立类的新实例(新对象)时会调用该方法。它的主要目的是初始化实例的属性。
要建立类的实例:
my_circle = Circle(5, "Red")
my_circle = new Circle(5, "Red");
Python和JavaScript都是很是强大的语言,由于有着不一样的实际应用场景,Python能够用于Web开发和普遍的应用,包括科学用途。JavaScript主要用于Web开发(前端和后端)和移动应用开发。因此,两种语言并无孰强孰弱的区别。
虽然它们在语法和使用上有些许区别,但自己做为一门开发语言,使用和掌握上没有本质上的区别,若是有那也只是使用者自身的熟练程度带来的影响罢了。
但愿这篇文章能为你带来一些帮助。若是有疑问能够经过评论告诉我。