120 lines
2.5 KiB
Markdown
120 lines
2.5 KiB
Markdown
# Java 开发者 Python 速查表
|
||
|
||
## 基础语法对比
|
||
|
||
| 概念 | Java | Python |
|
||
|------|------|--------|
|
||
| 打印 | `System.out.println("hi");` | `print("hi")` |
|
||
| 条件 | `if (x > 0) { ... }` | `if x > 0: ...` |
|
||
| 循环 | `for (String s : list) { ... }` | `for s in list: ...` |
|
||
| 方法 | `public String hello() { return "hi"; }` | `def hello() -> str: return "hi"` |
|
||
| 类 | `public class Foo { String bar; }` | `class Foo: bar: str` |
|
||
| 导入 | `import java.util.List;` | `from typing import List` |
|
||
|
||
## 数据类型对比
|
||
|
||
| Java | Python | 说明 |
|
||
|------|--------|------|
|
||
| `String` | `str` | 字符串 |
|
||
| `int` | `int` | 整数 |
|
||
| `double` | `float` | 浮点数 |
|
||
| `boolean` | `bool` | 布尔值 |
|
||
| `List<T>` | `list` | 列表 |
|
||
| `Map<K,V>` | `dict` | 字典 |
|
||
| `null` | `None` | 空值 |
|
||
| `true/false` | `True/False` | 布尔值 |
|
||
|
||
## 常用操作对比
|
||
|
||
### 字符串
|
||
```java
|
||
// Java
|
||
String s = "hello";
|
||
s.length(); // 长度
|
||
s.toUpperCase(); // 大写
|
||
s.contains("ll"); // 包含
|
||
s.replace("l", "r"); // 替换
|
||
String.format("%s %d", s, 42); // 格式化
|
||
```
|
||
|
||
```python
|
||
# Python
|
||
s = "hello"
|
||
len(s) # 长度
|
||
s.upper() # 大写
|
||
"ll" in s # 包含
|
||
s.replace("l", "r") # 替换
|
||
f"{s} {42}" # 格式化(f-string)
|
||
```
|
||
|
||
### 集合
|
||
```java
|
||
// Java
|
||
List<String> list = new ArrayList<>();
|
||
list.add("a");
|
||
list.get(0);
|
||
list.size();
|
||
|
||
Map<String, Integer> map = new HashMap<>();
|
||
map.put("key", 1);
|
||
map.get("key");
|
||
map.containsKey("key");
|
||
```
|
||
|
||
```python
|
||
# Python
|
||
list = []
|
||
list.append("a")
|
||
list[0]
|
||
len(list)
|
||
|
||
map = {}
|
||
map["key"] = 1
|
||
map.get("key")
|
||
"key" in map
|
||
```
|
||
|
||
## Python 特有概念
|
||
|
||
### 缩进代替花括号
|
||
```python
|
||
# Python 用缩进表示代码块
|
||
if x > 0:
|
||
print("正数") # 必须缩进
|
||
else:
|
||
print("非正数")
|
||
```
|
||
|
||
### 类型提示(可选)
|
||
```python
|
||
# Python 类型提示只是给编辑器看的,运行时不检查
|
||
def hello(name: str) -> str:
|
||
return f"Hello, {name}"
|
||
|
||
# 这样写也可以运行
|
||
def hello(name):
|
||
return "Hello, " + name
|
||
```
|
||
|
||
### 字典推导
|
||
```python
|
||
# 创建字典
|
||
d = {"key": "value"}
|
||
|
||
# 遍历
|
||
for k, v in d.items():
|
||
print(k, v)
|
||
|
||
# 安全访问
|
||
d.get("key") # 不存在返回 None
|
||
d.get("key", "默认") # 不存在返回默认值
|
||
```
|
||
|
||
## LangGraph 核心概念
|
||
|
||
| 概念 | 说明 | Java 类比 |
|
||
|------|------|----------|
|
||
| State | 节点间传递的数据 | DTO/Entity 类 |
|
||
| Node | 处理函数 | Service 方法 |
|
||
| Edge | 节点连接 | 流程控制 |
|
||
| Graph | 有向图 | 工作流引擎 | |