当前位置: 首页 > news >正文

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))  # 输出: 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}")
http://www.wxhsa.cn/company.asp?id=5621

相关文章:

  • Java开发电脑开荒软件
  • 69-SQLite应用 - 详解
  • mysql 源码下载,从获取到安装的完整指南
  • docker中centos7配置
  • centos7虚拟机下系统环境配置
  • CefSharp高版本问题
  • 前缀和pre,如何求总和:pre(r) - pre(l)(1 = l = r = n),以及|pre(r) - pre(l)|
  • P11537 [NOISG 2023 Finals] Toxic Gene 题解
  • keil5中stm32相关记录
  • centos7中mysql环境配置
  • centos7中php环境配置
  • Symfony学习笔记 - 利用Doctrine开发一个学生信息的增删查改
  • 函数计算进化之路:AI Sandbox 新基座
  • linux通过smb共享文件夹,windows进行连接
  • 强制Apache Web服务器始终使用https
  • 初始vue3
  • 如何在Nginx服务器配置https以及强制跳转https
  • centos7中安装protobuf-c
  • 赞助NYU-Poly女性网络安全研讨会:推动行业多元发展
  • MyEMS:开源能源管理的探索与实践
  • 实时内核中的调度程序节流
  • 配置Burp Suite与Proxifier抓取微信小程序流量
  • 我的ai 相关工具站
  • C#第十一章 023 024
  • MyEMS:赋能每一个组织,成为自己的能源管理专家
  • Vue开发微信公众号上传图片
  • centos7中scrapy运行环境配置
  • flutter配置国内镜像
  • 微信小程序 live-player 无声音
  • 栈的妙用:如何优雅地处理括号匹配难题 (C语言版)