初学Python不适应,使用表格总结对比:Python和JavaScript(我熟悉)
Python与JavaScript核心差异速查表本文为JS开发者提供Python快速入门指南通过对比表格呈现两种语言的核心差异基础语法Python无分号靠缩进定义代码块JS需分号和大括号变量与常量Python直接赋值JS需声明常量约定不同数据类型Python有list/tuple/dictJS对应array/object控制结构Python用elifJS用else if逻辑运算符不同函数与类Python显式self参数JS用this关键字模块系统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/constlet,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或fa{b}a b或a${b}布尔值True,False首字母大写true,false全小写空值Nonenullundefined数组 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.name或obj[name]条件判断if,elif,elseif,else if,else逻辑运算符and,or,not,||,!相等比较值相等is对象同一性会类型转换严格相等循环for item in list:while condition:for (let i0; iarr.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 mathfrom math import sqrtconst 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:加冒号不加花括号缩进代码块IndentationError或SyntaxErrorlet arr []arr []直接赋值NameError: name let is not definedif (x y)if x y:注意True/False大写无报错但逻辑可能不对False小写会当变量for (let i0; i5; i)for i in range(5):TypeError: int object is not iterablefunction add(a,b) { return ab }def add(a, b): return a b冒号缩进IndentationError 快速上手建议忘掉分号和花括号把{改成:然后缩进对齐True/False/None首字母大写不是小写不用let/const直接变量名 值循环用for in遍历列表/字典和range()数字序列判断用and/or/not不是/||/!等你写几天 Python 后会发现它比 JS更简洁、更严格比如缩进强制规范但同样灵活。需要我把你课表里的某个 SQL 查询分别用Pandas和PySpark写一遍让你感受一下数据开发的代码风格吗