1人参与 • 2025-12-09 • Java
专为有 javascript & java 基础的工程师《python 基本语法快速上手指南》
你会发现:python = 更少的代码 + 更少的概念 + 更高的表达力。
a = 10 b = "hello" c = true
无需 let、const、var、int 之类的关键字。
变量类型由赋值决定。
java/js:
if (x > 1) {
console.log('ok')
}
python:
if x > 1:
print("ok")
⚠️ 必须使用 4 个空格缩进(不能用 tab)
| python | js | java |
|---|---|---|
| int | number | int |
| float | number | double |
| str | string | string |
| bool | boolean | boolean |
| list | array | 数组/arraylist |
| tuple | 类似 readonly array | 不可变数组 |
| dict | object | map |
示例:
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
if score > 90:
print("a")
elif score > 60:
print("b")
else:
print("c")
注意:elif = else if
for item in [1, 2, 3]:
print(item)
for i in range(5): # 0,1,2,3,4
print(i)
for i in range(1, 5): # 1,2,3,4
print(i)
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 完全可以不要,: 是函数必须的
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__selfname = "tom"
age = 18
print(f"my name is {name}, age {age}")
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]
user = {
"name": "tom",
"age": 20
}
print(user["name"])
user["age"] = 30
for key, val in user.items():
print(key, val)
try:
x = 10 / 0
except zerodivisionerror:
print("不能除以 0")
finally:
print("done")
with open("test.txt", "r") as f:
content = f.read()
with open("a.txt", "w") as f:
f.write("hello")
java:
import java.util.list;
js:
import fs from 'fs';
python:
import math from math import sqrt
print(user)
你不需要写 json.stringify,也不需要重写 tostring。
python -m venv venv source venv/bin/activate # mac/linux venv\scripts\activate # windows
pip install requests
示例:
import requests
res = requests.get("https://api.github.com")
print(res.json())
a, b = 1, 2
msg = "ok" if x > 1 else "fail"
for index, item in enumerate(arr):
print(index, item)
a, b = b, a
data = open("a.txt").read()
继续为你输出 python 快速上手指南(面向 js & java 工程师)。
你可以随时说“继续”往下扩展更多内容。
这是 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]
创建:
user = {"name": "tom", "age": 18}
访问:
print(user["name"])
print(user.get("age"))
修改:
user["age"] = 20
遍历:
for key, value in user.items():
print(key, value)
try:
1 / 0
except zerodivisionerror as e:
print("error:", e)
finally:
print("done")
写文件:
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 文件。
相当于 js 的 import,java 的 import。
import math print(math.sqrt(16))
from 写法:
from math import sqrt print(sqrt(16))
导入别名:
import numpy as np
| python | js | java |
|---|---|---|
| list | array | array / arraylist |
| tuple | 无等价(类似 readonly array) | 不可变数组 |
| dict | object / map | hashmap |
| set | set | hashset |
a, b = 1, 2
交换变量(无需临时变量):
a, b = b, a
解构列表:
x, y, z = [10, 20, 30]
js:
const add = (a, b) => a + b
python:
add = lambda a, b: a + b
用在排序中非常常见:
arr.sort(key=lambda x: x["age"])
最基本的形式:
def log(fn):
def wrapper(*args, **kwargs):
print("call", fn.__name__)
return fn(*args, **kwargs)
return wrapper
@log
def hello():
print("hi")
安装包:
pip install requests
升级包:
pip install -u requests
创建:
python -m venv venv
激活(mac/linux):
source venv/bin/activate
激活(windows):
venv\scripts\activate
退出:
deactivate
几乎与 js 一样。
import asyncio
async def hello():
print("hello")
await asyncio.sleep(1)
print("world")
asyncio.run(hello())
return f"it's always sunny in {city}!"
f-string 是 python 拼接字符串最常用的方式。
等价于 js 的模板字符串:
return `it's always sunny in ${city}!`
三引号字符串放在函数第一行 = 函数注释(用于文档、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. */
类型 不是必写!
不区分!只有一个 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基本语法内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论