// 基本输出println!("Hello, World!");// 格式化输出let name ="Alice";let age =25;println!("Name: {}, Age: {}", name, age);// 带位置参数的输出println!("{0} is {1} years old. {0} is a programmer.", name, age);// 带命名参数的输出println!("Name: {name}, Age: {age}", name = name, age = age);
import sys
# 输出到标准错误print("Error: Something went wrong!",file=sys.stderr)
sys.stderr.write("Error message\n")
三、转义字符列表
通用转义字符
转义字符
说明
Rust 示例
Python 示例
\n
换行
println!("Line 1\nLine 2");
print("Line 1\nLine 2")
\t
制表符
println!("Name:\tAlice");
print("Name:\tAlice")
\\
反斜杠
println!("Path: C:\\Windows");
print("Path: C:\\Windows")
\"
双引号
println!("He said: \"Hello\"");
print("He said: \"Hello\"")
\'
单引号
println!("It\'s mine");
print("It\'s mine")
\r
回车
println!("Loading...\rDone");
print("Loading...\rDone")
\0
空字符
println!("End\0of string");
print("End\0of string")
Rust 特有转义字符
// 原始字符串 - 忽略转义字符println!(r"C:\Windows\System32");// C:\Windows\System32// 多行原始字符串println!(r#"
This is a
multi-line
raw string
"#);// Unicode 转义println!("\u{1F600}");// 😀println!("\u{1F47E}");// 👾// 字节字符串println!(b"Hello");// 输出字节数组
Python 特有转义字符
# 原始字符串print(r"C:\Windows\System32")# C:\Windows\System32# 多行字符串print("""
Line 1
Line 2
Line 3
""")# Unicode 转义print("\N{GRINNING FACE}")# 😀print("\U0001F47E")# 👾print("\u03A9")# Ω# 其他转义print("\a")# 响铃 (可能不工作)print("\f")# 换页符print("\v")# 垂直制表符
四、高级用法对比
Rust 高级输出
usestd::io::{self,Write};// 手动刷新缓冲区print!("Loading...");io::stdout().flush().unwrap();// 立即输出std::thread::sleep(std::time::Duration::from_secs(1));println!(" Done");// 格式化复杂数据结构#[derive(Debug)]structPerson{
name:String,
age:u32,}let person =Person{ name:"Bob".to_string(), age:30};println!("{:#?}", person);// 漂亮打印// 自定义格式化usestd::fmt;implfmt::DisplayforPerson{fnfmt(&self, f:&mutfmt::Formatter)->fmt::Result{write!(f,"{} ({} years old)",self.name,self.age)}}println!("{}", person);// Bob (30 years old)
Python 高级输出
import json
from dataclasses import dataclass
# 输出到字符串
output ="Hello"print(str(output))# Helloprint(repr(output))# 'Hello'# JSON 格式化输出
data ={"name":"Alice","age":25}print(json.dumps(data, indent=2))# {# "name": "Alice",# "age": 25# }# 使用 dataclassfrom dataclasses import dataclass
@dataclassclassPerson:
name:str
age:int
person = Person("Bob",30)print(person)# Person(name='Bob', age=30)# 进度条效果import time
for i inrange(101):print(f"\rProgress: {i}%", end="", flush=True)
time.sleep(0.1)print()