内置函数
print() - 输出信息到控制台
name = "Alice"
age = 30
print("姓名:", name, "年龄:", age) # 输出多个值
print(f"姓名: {name}, 年龄: {age}") # 使用f-string格式化输出
print("姓名: {}, 年龄: {}".format(name, age)) # 使用format格式化输出
print("x = %d, y = %d" % (x, y)) # 类似 C 语言的格式化输出,用 % 作为占位符拼接,输出:x = 10, y = 20
print(a + " " + b) # 用 + 连接字符串(需确保所有元素都是字符串类型,否则会报错)
len() - 返回对象的长度或元素个数
text = "Hello World"
print(len(text)) # 输出: 11numbers = [1, 2, 3, 4, 5]
print(len(numbers)) # 输出: 5
input() - 获取用户输入
name = input("请输入你的名字: ")
print(f"你好, {name}!")
type() - 返回对象的类型
x = 10
print(type(x)) # 输出: <class 'int'>y = "Hello"
print(type(y)) # 输出: <class 'str'>
int()/float()/str() - 类型转换
num_str = "123"
num_int = int(num_str) # 字符串转整数print(num_int + 1) # 输出: 124num = 123
num_str = str(num) # 整数转字符串
print(num_str + "456") # 输出: 123456
range() - 生成一个整数序列
# 生成0到4的序列
for i in range(5):print(i)# 生成2到8的序列,步长为2
for i in range(2, 9, 2):print(i) # 输出: 2, 4, 6, 8# 重定义数组元素
cols = ["apple", "banana", "orange"]
cols = [f'col_{i}' for i in range(0, len(cols))]
cols = ["col_0", "col_1", "col_2"]
sum() - 计算可迭代对象的总和
numbers = [1, 2, 3, 4, 5]
print(sum(numbers)) # 输出: 15
print(sum(numbers, 10)) # 从10开始加,输出: 25
max()/min() - 返回可迭代对象中的最大 / 最小值
numbers = [3, 1, 4, 1, 5, 9]
print(max(numbers)) # 输出: 9
print(min(numbers)) # 输出: 1
sorted() - 对可迭代对象进行排序
numbers = [3, 1, 4, 1, 5, 9]
sorted_numbers = sorted(numbers)
print(sorted_numbers) # 输出: [1, 1, 3, 4, 5, 9]# 降序排序
reverse_sorted = sorted(numbers, reverse=True)
print(reverse_sorted) # 输出: [9, 5, 4, 3, 1, 1]
open() - 打开文件
# 写入文件
with open("example.txt", "w") as file:file.write("Hello, World!")# 读取文件
with open("example.txt", "r") as file:content = file.read()print(content) # 输出: Hello, World!
abs() - 返回数字的绝对值
print(abs(-10)) # 输出: 10
print(abs(3.14)) # 输出: 3.14
round() - 对数字进行四舍五入
print(round(3.14159)) # 输出: 3
print(round(3.14159, 2)) # 保留2位小数,输出: 3.14
json - 操作json对象取值和设值
JSON 数据在 Python 中通常以 字典(dict) 或 列表(list) 形式存在(JSON 对象对应字典,JSON 数组对应列表)。
# 1. 取顶层键的值(字典)
name = data["name"]
age = data.get("age") # 推荐用 get(),键不存在时返回 None(可自定义默认值)
print("姓名:", name) # 输出:Alice
print("年龄:", age) # 输出:30# 2. 取嵌套字典的值
city = data["address"]["city"]
print("城市:", city) # 输出:Beijing# 3. 取列表中的值(通过索引)
first_hobby = data["hobbies"][0]
print("第一个爱好:", first_hobby) # 输出:reading# 4. 安全取值(避免键不存在报错)
gender = data.get("gender", "unknown") # 键不存在时返回默认值 "unknown"
print("性别:", gender) # 输出:unknown
----------------------------------------------------------------------------
# 1. 修改已有键的值
data["age"] = 31 # 修改年龄# 2. 添加新键值对
data["gender"] = "female" # 新增性别字段# 3. 修改嵌套字典的值
data["address"]["zipcode"] = "100000" # 给地址添加邮编# 4. 操作列表(添加/修改元素)
data["hobbies"].append("coding") # 新增爱好
data["hobbies"][1] = "swimming" # 修改第二个爱好print("修改后的数据:", data)
----------------------------------------------------------------------------
# 导入依赖:import json
# 将 Python 字典转换为 JSON 字符串(序列化),indent 美化格式,ensure_ascii=False 保留中文。
json_str = json.dumps(data, indent=2, ensure_ascii=False)# 将 JSON 字符串转换为 Python 字典 / 列表(反序列化)。
json_data = json.loads(json_str)
第三方库函数
pandas(数据处理)
用于数据清洗、分析和处理的核心库。
import pandas as pd# 创建 DataFrame
data = {"Name": ["Alice", "Bob"], "Age": [25, 30]}
df = pd.DataFrame(data)# 读取 CSV 文件
df = pd.read_csv("data.csv")# 基本操作
print(df.head()) # 查看前几行
print(df["Age"].mean()) # 计算平均值
print(df.groupby("Gender")["Salary"].sum()) # 分组统计
numpy(数值计算)
处理多维数组和矩阵运算的基础库。
import numpy as np# 创建数组
arr = np.array([1, 2, 3, 4, 5])
matrix = np.array([[1, 2], [3, 4]])# 数组运算
print(arr * 2) # 元素乘 2
print(np.dot(matrix, matrix)) # 矩阵乘法
print(arr.mean()) # 平均值
requests(网络请求)
用于发送 HTTP 请求,处理 API 交互等。
import requests# 定义请求头
headers = {"Accept": "application/json","Authorization": "Bearer your_access_token" # 如有认证需求
}
# 发送 GET 请求
response = requests.get("https://api.example.com/get", headers=headers)
result = response.json() # 解析 JSON 响应
if result['code'] == 200:data = result['data']
else:print("请求失败:", result['msg'])# 带参数的get请求
api/get?q=python&page=1 # 手动拼接参数(需自己处理编码)
args = "q=python&page=1" # 传递字符串(需符合 query string 格式)
args = {"q": "python"} # 传递对象(自动编码)
args = {"filter": ["news", "tech"]} # 传递列表(适用于多值参数,如 ?filter=news&filter=tech)
response = requests.get("https://api.example.com/get", params=args, headers=headers)# 带参数的post请求
data = {"username": "test_user", "age": 25}
response = requests.post("https://api.example.com/submit", json=data, headers=headers)# json=data 自动序列化 + 自动设置 Content-Type
# data=json.dumps(data) 手动序列化 + 需手动设置 Content-Type,否则服务器可能无法正确解析数据
matplotlib(数据可视化)
绘制各种图表的基础库。
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0, 10, 100)
y = np.sin(x)# 绘制折线图
plt.plot(x, y, label="sin(x)")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Sine Wave")
plt.legend()
plt.show()
pillow(图像处理)
处理图像的库,支持格式转换、裁剪、滤镜等。
from PIL import Image, ImageFilter# 打开并显示图像
img = Image.open("image.jpg")
img.show()# 调整大小
resized_img = img.resize((200, 200))# 添加滤镜
blurred_img = img.filter(ImageFilter.BLUR)
blurred_img.save("blurred.jpg")
scikit-learn(机器学习)
简单易用的机器学习库,包含分类、回归等算法。
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score# 加载数据集
data = load_iris()
X, y = data.data, data.target# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)# 训练模型
model = RandomForestClassifier()
model.fit(X_train, y_train)# 预测并评估
y_pred = model.predict(X_test)
print(f"准确率: {accuracy_score(y_test, y_pred):.2f}")