news 2026/4/15 11:17:00

初学Python不适应,使用表格总结对比:Python和JavaScript(我熟悉)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
初学Python不适应,使用表格总结对比:Python和JavaScript(我熟悉)

Python与JavaScript核心差异速查表


本文为JS开发者提供Python快速入门指南,通过对比表格呈现两种语言的核心差异:

  1. 基础语法:Python无分号,靠缩进定义代码块;JS需分号和大括号
  2. 变量与常量:Python直接赋值,JS需声明;常量约定不同
  3. 数据类型:Python有list/tuple/dict,JS对应array/object
  4. 控制结构:Python用elif,JS用else if;逻辑运算符不同
  5. 函数与类:Python显式self参数,JS用this关键字
  6. 模块系统:import语法差异显著

常见错误提醒:

  • 忘记冒号和缩进
  • 混淆True/False大小写
  • 错误使用循环语法
  • 保留字差异(如let)

建议初学者重点关注缩进规则、大小写约定和循环语法转换,适应后会发现Python语法更简洁规范。


初学Python不适应,使用表格总结对比:Python和JavaScript(我熟悉)


我们要求用表格总结对比Python和JavaScript,帮助用户从熟悉的JS过渡到Python。需要涵盖语法、数据类型、函数、面向对象、常用操作等。注意用户是初学者,对比要清晰。表格可以分多个方面。


没问题,从你最熟悉的 JavaScript 出发,用表格对照学习 Python,会快很多。下面我把核心差异最容易踩的坑都列出来。


Python vs JavaScript 速查表

对比维度Python (你正在学)JavaScript (你熟悉的)
版本/运行环境解释器 + 虚拟环境 (venv)浏览器 + Node.js
语句结束符换行即结束(不用分号分号;(可省略但建议加)
代码块缩进决定(4个空格){ }花括号
变量声明直接赋值x = 10
var/let/const
let,const,var
常量PI = 3.14(约定大写,但可改)const PI = 3.14(不可改)
注释# 单行
"""多行"""
// 单行
/* 多行 */
数据类型int,float,str,bool,list,tuple,dict,set,Nonenumber,string,boolean,object,array,null,undefined
数字整数无上限,除法/得浮点数//得整数整数有Number.MAX_SAFE_INTEGER,除法都得浮点数
字符串单引号'双引号"一样
三引号支持换行
单/双引号一样,模板字符串用`|
字符串拼接"a" + "b"f"a{b}""a" + "b"`a${b}`
布尔值True,False(首字母大写)true,false(全小写)
空值Nonenull+undefined
数组 vs 列表my_list = [1, 2, 3](可混合类型)const arr = [1, 2, 3](通常同类型)
对象 vs 字典my_dict = {"name": "Tom", "age": 20}const obj = {name: "Tom", age: 20}
访问属性my_dict["name"]my_dict.get("name")obj.nameobj["name"]
条件判断if,elif,elseif,else if,else
逻辑运算符and,or,not&&,||,!
相等比较==(值相等)
is(对象同一性)
==(会类型转换)
===(严格相等)
循环for item in list:
while condition:
for (let i=0; i<arr.length; i++)
for (const item of arr)
while
函数定义def my_func(param1, param2):function myFunc(param1, param2) { }
或箭头函数
返回值默认返回None默认返回undefined
匿名函数lambda x: x*2(x) => x*2
作用域函数作用域 + LEGB规则函数作用域 + 块级作用域 (let/const)
类与对象class MyClass:
def __init__(self):
class MyClass {
constructor() { }
}
方法调用第一个参数必须是self(实例自身)this关键字(动态绑定)
模块导入import math
from math import sqrt
const math = require('math')(Node.js)
import { sqrt } from 'math'
异常处理try: ... except Error as e: ...try { ... } catch(e) { ... }
代码执行脚本从上到下同步执行(异步需asyncio事件循环,默认异步非阻塞

🚨 初学者最容易犯的 5 个错误(对照JS习惯)

JS 习惯写法Python 正确写法报错信息(如果写错)
if (x > 0) {if x > 0:加冒号,不加花括号,缩进代码块IndentationErrorSyntaxError
let arr = []arr = []直接赋值NameError: name 'let' is not defined
if (x == y)if x == y:注意True/False大写无报错但逻辑可能不对(False小写会当变量)
for (let i=0; i<5; i++)for i in range(5):TypeError: 'int' object is not iterable
function add(a,b) { return a+b }def add(a, b): return a + b(冒号+缩进)IndentationError

💡 快速上手建议

  1. 忘掉分号和花括号,把{改成:,然后缩进对齐

  2. True/False/None首字母大写,不是小写

  3. 不用let/const,直接变量名 = 值

  4. 循环用for in(遍历列表/字典)和range()(数字序列)

  5. 判断用and/or/not,不是&&/||/!

等你写几天 Python 后,会发现它比 JS更简洁、更严格(比如缩进强制规范),但同样灵活。

需要我把你课表里的某个 SQL 查询,分别用PandasPySpark写一遍,让你感受一下数据开发的代码风格吗?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 11:14:51

从零开始掌握OBD-II:汽车诊断开发的核心技术与实战解析

1. OBD-II系统基础入门&#xff1a;汽车诊断的"听诊器" 第一次接触OBD-II时&#xff0c;我把它想象成汽车的"听诊器"。就像医生用听诊器检查病人心跳一样&#xff0c;这个标准化的诊断接口能让我们"听到"车辆内部各个系统的运行状态。OBD-II全称…

作者头像 李华
网站建设 2026/4/15 11:13:35

KCN-GenshinServer:5分钟搭建你的专属提瓦特世界,告别复杂配置烦恼

KCN-GenshinServer&#xff1a;5分钟搭建你的专属提瓦特世界&#xff0c;告别复杂配置烦恼 【免费下载链接】KCN-GenshinServer 基于GC制作的原神一键GUI多功能服务端。 项目地址: https://gitcode.com/gh_mirrors/kc/KCN-GenshinServer 你是否曾经想过拥有一个属于自己…

作者头像 李华
网站建设 2026/4/15 11:12:05

Ostrakon-VL-8B快速上手:无需代码,WebUI端完成门店环境智能分析

Ostrakon-VL-8B快速上手&#xff1a;无需代码&#xff0c;WebUI端完成门店环境智能分析 1. 引言 想象一下&#xff0c;你是一家连锁便利店的区域督导&#xff0c;每周要跑十几家门店检查。货架商品摆放对不对、价格标签有没有贴错、消防通道有没有被堵住、整体卫生状况怎么样…

作者头像 李华
网站建设 2026/4/15 11:09:38

微信小程序的校园食堂订餐多商家带配送

目录 同行可拿货,招校园代理 ,本人源头供货商功能需求概述核心模块设计技术实现要点扩展功能建议 项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作 同行可拿货,招校园代理 ,本人源头供货商 功能需求概述 微信小程序的校园食堂…

作者头像 李华