Python基本语法总结大全(含java、js对比)

 更新时间:2025年12月09日 10:26:53   作者:Lvan的前端笔记  
在web项目开发的过程中,前端尤为重要的一门语言就是js,虽然作为后端人员js对于我们来说不是特别重要,但是还是有必要会写的,这篇文章主要介绍了Python基本语法(含java、js对比)的相关资料,需要的朋友可以参考下

专为有 JavaScript & Java 基础的工程师《Python 基本语法快速上手指南》

Python 基本语法 · JS/Java 开发者快速上手指南

你会发现:Python = 更少的代码 + 更少的概念 + 更高的表达力。

1. Python 是动态类型语言(像 JS,但比 JS 更简单)

定义变量

a = 10
b = "Hello"
c = True

无需 letconstvarint 之类的关键字。
变量类型由赋值决定。

2. 缩进就是作用域(没有花括号)

Java/JS:

if (x > 1) {
  console.log('ok')
}

Python:

if x > 1:
    print("ok")

⚠️ 必须使用 4 个空格缩进(不能用 Tab)

3. 基本数据类型

PythonJSJava
intnumberint
floatnumberdouble
strstringString
boolbooleanboolean
listArray数组/ArrayList
tuple类似 readonly array不可变数组
dictObjectMap

示例:

age = 28               # int
price = 3.14           # float
name = "Tom"           # str
is_ok = True           # bool
arr = [1, 2, 3]        # list
t = (1, 2)             # tuple
user = {"name": "Tom"} # dict

4. 条件语句(更自然)

if score > 90:
    print("A")
elif score > 60:
    print("B")
else:
    print("C")

注意:elif = else if

5. 循环

for 循环(更像 Java 的 foreach)

for item in [1, 2, 3]:
    print(item)

range

for i in range(5):   # 0,1,2,3,4
    print(i)

for i in range(1, 5):  # 1,2,3,4
    print(i)

6. 函数定义

Java/JS:

function add(a, b) {
  return a + b
}

Python:

def add(a, b):
    return a + b
def add(a, b) -> str:
    return a + b

-> str 完全可以不要,: 是函数必须的

7. 类与对象

Java:

class User {
  String name;
  User(String name) { this.name = name; }
}

Python(更简洁):

class User:
    def __init__(self, name):
        self.name = name

u = User("Tom")
print(u.name)

关键点:

  • 构造函数是 __init__
  • 方法第一个参数必须是 self

8. 字符串(功能超强)

f-string(Python 最好用的语法)

name = "Tom"
age = 18
print(f"My name is {name}, age {age}")

9. 列表(list)的常用操作

arr = [1, 2, 3]

arr.append(4)
arr.insert(0, 100)
arr.remove(2)
print(len(arr))

列表推导式(神器 🔥)

squares = [x*x for x in range(5)]
print(squares)  # [0,1,4,9,16]

10. 字典(dict)

user = {
    "name": "Tom",
    "age": 20
}

print(user["name"])
user["age"] = 30

for key, val in user.items():
    print(key, val)

11. 异常处理(与 Java 类似)

try:
    x = 10 / 0
except ZeroDivisionError:
    print("不能除以 0")
finally:
    print("done")

12. 文件操作(非常简单)

with open("test.txt", "r") as f:
    content = f.read()

with open("a.txt", "w") as f:
    f.write("hello")

13. 模块与导入

Java:

import java.util.List;

JS:

import fs from 'fs';

Python:

import math
from math import sqrt

14. Python 对象打印超级方便

print(user)

你不需要写 JSON.stringify,也不需要重写 toString。

15. 虚拟环境(推荐)

python -m venv venv
source venv/bin/activate  # Mac/Linux
venv\Scripts\activate     # Windows

16. pip 安装库

pip install requests

示例:

import requests

res = requests.get("https://api.github.com")
print(res.json())

17. Pythonic 语法总结(从 JS/Java 转过来最常用)

✓ 多重赋值

a, b = 1, 2

✓ 三元表达式

msg = "ok" if x > 1 else "fail"

✓ enumerate

for index, item in enumerate(arr):
    print(index, item)

✓ 交换变量

a, b = b, a

✓ 一行读取文件

data = open("a.txt").read()

继续为你输出 Python 快速上手指南(面向 JS & Java 工程师)。

你可以随时说“继续”往下扩展更多内容。

10. 列表推导式(List Comprehension)🔥

这是 Python 最经典、最强大的语法之一。

JS/Java 写法:

const arr = [];
for(let i=0; i<5; i++){
  arr.push(i * i);
}

Python 一行:

squares = [x * x for x in range(5)]

带条件:

evens = [x for x in range(10) if x % 2 == 0]

11. 字典(dict)常用操作(相当于 JS Object / Java HashMap)

创建:

user = {"name": "Tom", "age": 18}

访问:

print(user["name"])
print(user.get("age"))

修改:

user["age"] = 20

遍历:

for key, value in user.items():
    print(key, value)

12. 异常处理(类似 Java,更好用)

try:
    1 / 0
except ZeroDivisionError as e:
    print("Error:", e)
finally:
    print("done")

13. 文件读写(非常简单)

写文件:

with open("a.txt", "w", encoding="utf-8") as f:
    f.write("hello")

读文件:

with open("a.txt", "r", encoding="utf-8") as f:
    content = f.read()

with 会自动 close 文件。

14. 模块与导入(import)

相当于 JS 的 import,Java 的 import

import math
print(math.sqrt(16))

from 写法:

from math import sqrt
print(sqrt(16))

导入别名:

import numpy as np

15. Python 的常用数据结构总结(对比 JS & Java)

PythonJSJava
listArrayArray / ArrayList
tuple无等价(类似 readonly array)不可变数组
dictObject / MapHashMap
setSetHashSet

16. Python 的强大语法糖

✦ 解构赋值(JS 也有,但 Python 更强)

a, b = 1, 2

交换变量(无需临时变量):

a, b = b, a

解构列表:

x, y, z = [10, 20, 30]

17. Lambda(匿名函数)

JS:

const add = (a, b) => a + b

Python:

add = lambda a, b: a + b

用在排序中非常常见:

arr.sort(key=lambda x: x["age"])

18. 装饰器(类似 JS 的高阶函数 + 注解功能)

最基本的形式:

def log(fn):
    def wrapper(*args, **kwargs):
        print("call", fn.__name__)
        return fn(*args, **kwargs)
    return wrapper

@log
def hello():
    print("hi")

19. Python 的包管理(pip)

安装包:

pip install requests

升级包:

pip install -U requests

20. 虚拟环境(venv)—— 类似 JS 的 node_modules 隔离

创建:

python -m venv venv

激活(Mac/Linux):

source venv/bin/activate

激活(Windows):

venv\Scripts\activate

退出:

deactivate

21. Python 异步(async/await)

几乎与 JS 一样。

import asyncio

async def hello():
    print("Hello")
    await asyncio.sleep(1)
    print("World")

asyncio.run(hello())

22. f-string(Python 的模板字符串)

return f"It's always sunny in {city}!"

f-string 是 Python 拼接字符串最常用的方式。

等价于 JS 的模板字符串:

return `It's always sunny in ${city}!`

23. 三引号字符串

三引号字符串放在函数第一行 = 函数注释(用于文档、IDE 提示、help())。

def get_weather(city: str) -> str:
    """Get weather for a given city."""
    return f"It's always sunny in {city}!"

相当于 Java 的:

/**
 * Get weather for a given city.
 */

24. 类型是否必须写,是否有类似js和ts的区分

类型 不是必写!

不区分!只有一个 Python。

但 Python 允许可选写类型注解,因此:

  • Python = JS(动态) + TS(可选标注)
  • 写不写类型都能运行(不像 TS 那样必须编译检查)

Python 官方把这套类型系统称为 Type Hints(类型提示)

Python 的类型注解是“提示”,不是“限制”

例如:

def add(a: int, b: int) -> int:
    return a + b

print(add("hello", "world"))

照样运行……输出 "helloworld"
(因为 Python 不强制类型)

要强制检查必须使用外部工具,比如:

  • mypy
  • pyright
  • pylance(VSCode)
  • PyCharm 自带类型分析

什么时候推荐写:

  • 大型项目
  • 团队协作
  • 需要 IDE 提示
  • API 层
  • 数据结构定义

总结 

到此这篇关于Python基本语法(含java、js对比)的文章就介绍到这了,更多相关Python基本语法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python访问OPCUA服务器,订阅一个变量标签方式

    Python访问OPCUA服务器,订阅一个变量标签方式

    这篇文章主要介绍了Python访问OPCUA服务器,订阅一个变量标签方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • OpenCV-Python图像轮廓之轮廓特征详解

    OpenCV-Python图像轮廓之轮廓特征详解

    图像轮廓是指由位于边缘、连续的、具有相同颜色和强度的点构成的曲线,它可以用于形状分析以及对象检测和识别。本文将带大家详细了解一下图像的轮廓特征,感兴趣的可以学习一下
    2021-12-12
  • Pandas删除数据的几种情况(小结)

    Pandas删除数据的几种情况(小结)

    这篇文章主要介绍了Pandas删除数据的几种情况(小结),详细的介绍了4种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • 详解Python执行py文件是否需要可执行权限

    详解Python执行py文件是否需要可执行权限

    这篇文章主要通过几个案例为大家详细介绍一下在Python中执行py文件是否需要可执行权限,文中的示例代码讲解详细,对我们学习Python有一定帮助,需要的可以了解一下
    2023-03-03
  • Django auth 应用模块详解

    Django auth 应用模块详解

    这篇文章主要介绍了Django auth 应用模块,auth 模块帮助开发人员提高了工作效率,因为每个 Web 站点的权限管理模块或者用户管理模块基本都是相同的逻辑,Django 的 auth 模块使开发者们不必在为一些重复性的逻辑进行构建,需要的朋友可以参考下
    2022-11-11
  • Python使用PyYAML库读写yaml文件的方法

    Python使用PyYAML库读写yaml文件的方法

    这篇文章主要介绍了Python使用PyYAML库读写yaml文件的方法,包括YAML基本概念介绍及YAML语法知识,结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • Python3 MySQL 数据库连接的使用示例

    Python3 MySQL 数据库连接的使用示例

    本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查,需要的朋友可以参考下
    2021-06-06
  • python opencv的imread方法无法读取图片问题

    python opencv的imread方法无法读取图片问题

    这篇文章主要介绍了python opencv的imread方法无法读取图片问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • python 的生产者和消费者模式

    python 的生产者和消费者模式

    这篇文章主要介绍了python 的生产者和python 的消费者模式的具体相关资料,需要的朋友可以参考下面文章内容
    2021-09-09
  • 详解Python 实现元胞自动机中的生命游戏(Game of life)

    详解Python 实现元胞自动机中的生命游戏(Game of life)

    本篇文章主要介绍了详解Python 实现元胞自动机中的生命游戏(Game of life),具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01

最新评论