从 Javascript 到 Python

2025-06-04

从 Javascript 到 Python

假设你懂 JavaScript,但你拿到了这家位于理想城市的优秀公司的 offer,而他们的技术栈里却完全没有 JavaScript。相反,他们使用基于 Python 的 Django Web 开发框架。那么,你该从哪里开始呢?在这篇文章中,我将(希望)为你打下基础。我们将涵盖以下内容:

  1. 什么是python?
  2. 为什么要学习python?
  3. 基本(简单)数据类型
  4. 列表
  5. 变量声明
  6. 编写函数

我们希望读者熟悉 javascript,如果不是这样,我建议查看Udemy 上的python 简介,不需要任何类型的编程知识。

什么是 Python?

摘自他们的网站:Python 是一种解释型、面向对象、具有动态语义的高级编程语言。 什么??是的,我第一次读到这句话的时候就是这么想的,所以让我们把这句话分解一下:

  1. 解释型- 与 JavaScript 类似,Python直接被翻译成计算机可读的代码。在 JavaScript 中,这通常由计算机或服务器上的解释器(例如 Chrome 的 V8 引擎或 Node.js)处理。Python 有自己的解释器,可以在这里下载。
  2. 面向对象是指 Python 程序的组织/结构方式。在 Python 中,我们使用类和对象来分离关注点,使代码更简洁 (DRY),并允许我们的程序表示现实世界中的事物。相比之下,JavaScript是一种函数式编程语言,它使用函数来实现许多与 Python 相同的组织策略。从概念上讲,两者有很多重叠之处,我们可以讨论几个小时。但对于 JavaScript 开发者来说,只需知道Python 中的不像 JavaScript 中那样是一种特殊的函数类型。
  3. 高级编程语言——指的是与人类语言更相似的语言。基本上,它易于阅读,即使对于非程序员来说也是如此。JavaScript 也是一种高级语言,但我认为它不如 Python 那么易于阅读。我们稍后会通过代码示例重新讨论这种比较。
  4. 动态语义- 基本上,我们可以将变量赋值并重新赋值,使其指向不同的值和数据类型。在 JavaScript 中也可以做到这一点。

为什么选择 Python?

根据 Stack Overflow 的调查,Python 是增长最快的编程语言。在Stack Overflow 的2019 年开发者调查中,Python 在最受欢迎的技术中排名第四。
替代文本

基本(简单)数据类型

是时候了解 Python 的真正含义了。要尝试以下任何代码示例,我建议使用repl.it,或者您可以下载Python 解释器。我们将使用 Python 的内置type()函数进行类型检查。这相当于 JavaScript typeof。为了在执行时记录值,我们使用 Python 的 console.log 函数。print()

  • 在 JavaScript 中,我们只有数字。Python 将数字分为三类:整数、浮点数、复数。
# int
print(type(10))
# >>> <class 'int'>

# float
print((type(10.11)))
# >>> <class 'float'>

# complex
print((type(10 + 5j)))
# >>> <class 'complex'>
  • 字符串和布尔值与 JavaScript 非常相似。注意,在 Python 中布尔值是大写的
print(type("I am a string"))
# >>> <class 'str'>

# float
print((type(True)))
# >>> <class 'bool'>
  • None数据类型。Python 中没有 null 或 undefined。相反,我们有None
print(type(None))
# >>> <class 'NoneType'>

还要注意,python 中的注释是用 # 写的,而 JavaScript 中的注释是用 // 写的

列表和其他复杂数据类型

Python 中的列表与 JavaScript 中的数组非常相似。值(元素)包含在[]中,并以逗号分隔。我们也可以使用括号进行访问。

my_list = [1,2,3,4]

print(my_list[2])

# >>> 3

请注意,列表中的元素不能用空格分隔,并且与 JavaScript 类似,列表的索引从零开始。
其他复杂数据类型包括:

  • 元组:不可变列表my_tuple = (1,2,3,4)
  • 集合:无序列表(无索引)my_set = {1,2,3,4}
  • 字典:相当于javascript中的对象(键值对)
my_dictionary = {
  "name": "Avery",
  "age": 32,
  "city": "New Orleans"
}

print(my_dictionary["name"])

# >>> Avery

变量赋值

在 JavaScript 中编写变量时,我们有很多选择。我们应该使用constletvar,还是定义一个不带关键字的全局变量(千万不要这样做……)?在 Python 中,我们从来不使用任何关键字。变量命名的惯例是使用蛇形命名法。和 JavaScript 一样,变量区分大小写。

my_dog = "Jasmine"
x = 10
X = 100

print(my_dog)
print(x)
print(X)

# >>> Jasmine
# >>> 10
# >>> 100

编写函数

Python 中的函数使用(define 的缩写)关键字编写def。与 JavaScript 不同,我们使用缩进来定义函数体(这里没有胡须括号!)。通常缩进4 个空格,但只要保持一致,您可以随意缩进。

def multiply_by_two(x):
    print(x * 2)

multiply_by_two(30)

# >>> 60

下一步是什么?

显然,我们只是触及了 Python 的皮毛。但正如你所见,它与 JavaScript 有很多相似之处。熟悉 ES6 Class 语法的 JavaScript 开发人员在使用 Python Class 时会如鱼得水。展望未来,我强烈推荐 Colt Steele 的《现代 Python 3 训练营》。俗话说,学习你的第一门语言总是最难的——对我来说确实如此,因为在学习 JavaScript 之后再学习 Python 到目前为止一切顺利。祝你的 Python 之旅一切顺利!

文章来源:https://dev.to/aveb/from-javascript-to-python-1b1m
PREV
自由职业有多难?
NEXT
在 Electron 中创建文本编辑器:第 1 部分 - 读取文件