当前位置:首页>python>Python 和 JS 的常用语法差别

Python 和 JS 的常用语法差别

  • 2026-09-02 19:57:37
Python 和 JS 的常用语法差别

1.语法风格:缩进 vs 括号

Python:强制使用缩进(通常是 4 个空格)来表示代码块。缩进错误直接导致语法错误。
if True:    print("Hello") #必须缩进

JavaScript:使用大括号 {} 和分号 ;。缩进只是为了美观,不影响执行。

if (True) {console.log("Hello"); // 必须用花括号包裹}

2.变量声明:

Python:不需要声明关键字,直接赋值即可。
常量是靠约定(全大写)实现的。
name = "Alice"#变量AGE = 25 #常量(习惯写法,非强制)

JavaScript:必须使用 let(可变)、const(不可变)或 var(老旧)来声明。

let name = "Alice";     // 可变变量const AGE = 25;         // 常量(强制不可变)

3. 数据类型与结构

对比项

Python

JavaScript

字符串格式化

f"Hello {name}"(f-string)

`Hello ${name}`(模板字符串)

数组 / 列表

list(可变) tuple(不可变)

Array(可变)

键值对

dict(字典)

Object 或 Map

空值

None

null 或 undefined

布尔值

True、False(首字母大写)

true、false(全小写)

Python中的dict和Js中的Map更为相似,都没有原型,通过键值对存储。JS中的object是“带默认属性的普通对象”,不是为纯映射设计的。
Python中键必须可哈希,Map中键可以是任意值,object中键是字符串或symbol。

4. 一个强类型,一个弱类型

Python:强类型。不会轻易进行隐式转换。比如 "5" + 2 会直接报错,必须显式转换为同类型。
JavaScript:弱类型(宽松)。会自动进行类型转换(强制类型转换)。
*   "5" + 2 等于 "52" (数字转字符串,拼接)
*   "5" - 2 等于 3 (字符串转数字,计算)

5. 函数与参数

Python:定义函数用 def;
参数传递非常灵活,支持关键字参数和默认参数,且函数是一等公民。
def greet(name, msg="Hello"):#默认参数return f"{msg}, {name}"greet(name="Alice", msg="Hi")#关键字参数调用
JavaScript:传统函数使用 function,现在更流行箭头函数 =>。
参数默认值写法类似 Python,但 JS 还有一个特殊的 arguments 对象可以获取所有参数。

6.Class语法

底层原理不同:
Python 是真正基于类的面向对象,有独立的类对象、实例对象,继承关系就是类之间的继承树。
JavaScript 是基于原型的面向对象,class只是语法糖,底层仍然是原型链查找属性和方法。
Python
方法和静态属性写在类体中,实例属性一般在 __init__中用 self.xxx = ...绑定。
class Animal:    def speak(self):        print("animal speaks")class Dog(Animal):    passd = Dog()d.speak()  # animal speaks
JavaScript
实例属性通常在 constructor中用 this.xxx = ...。方法写在类体中(其实是挂载到原型上的函数)。
classAnimal{    speak() {        console.log("animal speaks");    }}classDogextendsAnimal{}const d = new Dog();d.speak(); // animal speaks

extends语法看起来一样,但底层是把 Dog.prototype.__proto__指向 Animal.prototype,形成原型链继承。

7.打印和注释

对比项

Python

JavaScript

打印

print("Hello")

console.log("Hello")

注释

单行:# 注释

多行:"""注释"""或'''注释''' 

单行:// 注释

多行:/* 注释 */

如果你觉得文章内容有用,请记得点赞、收藏、转发。

点击下面的公众号名片直接关注!


最新文章

随机文章