it编程 > 编程语言 > Java

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

1人参与 2025-12-09 Java

专为有 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)

关键点:

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 官方把这套类型系统称为 type hints(类型提示)

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

例如:

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

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

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

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

什么时候推荐写:

总结 

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

(0)

您想发表意见!!点此发布评论

推荐阅读

在IDEA里Git特别慢的问题及解决过程

12-08

java 依赖包引入本地maven库的实现示例

12-08

Java RestTemplate post请求参数问题及解决

12-08

SpringBoot 启动时自动执行代码的几种方式讲解

12-09

SpringBoot中Entity、DTO、VO的通俗理解与实战案例

12-08

SpringBoot 实现多租户架构的步骤实践

12-09

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论