Python常见函数和代码示例

内置函数

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))  # 输出: 11

numbers = [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)  # 输出: 124

num = 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 np

x = 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}")
posted @ 2025-09-16 14:34  盗梦笔记  阅读(69)  评论(0)    收藏  举报