Python 中有哪些常用的函数和库?

开发 前端
流行的第三方库NumPy - 支持大量的维度数组与矩阵运算,对于科学计算非常重要。Pandas - 提供高性能的数据结构和数据分析工具。Matplotlib - 一个绘制图表的库,支持多种类型的图表。

常用的内置函数

print() - 打印输出到控制台。

len() - 返回对象(如字符串、列表等)的长度或元素个数。

type() - 返回一个对象的数据类型。

int(), float(), str() - 将数据转换为整型、浮点型或字符串。

input() - 从用户那里获取输入。

range() - 生成一个整数序列,常用于循环中。

list(), tuple(), set(), dict() - 创建列表、元组、集合和字典。

sorted() - 对可迭代对象进行排序并返回一个新的列表。

max(), min() - 返回最大值或最小值。

sum() - 计算所有元素的总和。

map(), filter() - 应用函数于指定序列的每个项目,并返回结果列表;过滤序列,筛选出符合条件的元素。

zip() - 将多个列表中的元素配对。

open() - 打开文件并返回一个文件对象。

help() - 调用内置的帮助系统。

dir() - 列出对象的所有属性和方法名。

流行的第三方库

NumPy - 支持大量的维度数组与矩阵运算,对于科学计算非常重要。

Pandas - 提供高性能的数据结构和数据分析工具。

Matplotlib - 一个绘制图表的库,支持多种类型的图表。

Scikit-learn - 简单高效的机器学习库,提供了许多经典算法的实现。

TensorFlow / PyTorch - 深度学习框架,广泛应用于神经网络模型开发。

Requests - 用来发送HTTP请求,简化了网页爬虫和其他基于web的服务的开发。

Beautiful Soup - 从HTML和XML文件中提取数据的库。

Flask / Django - 两个流行的Web框架,用于构建网站和服务端应用。

SQLAlchemy - Python SQL工具包及ORM(Object Relational Mapper)。

SciPy - 科学计算库,包含线性代数、优化、积分以及统计等模块。

Pillow - Python Imaging Library的一个分支,提供图像处理能力。

OpenCV - 开源计算机视觉库,用于图像处理和视频流分析。

内置函数示例

1. print()

# 示例代码
message = "Hello, World!"
print(message)
# 使用场景
# 当你需要在控制台输出信息时使用。

2. len()

# 示例代码
my_list = [1, 2, 3, 4, 5]
length = len(my_list)
print(f"The length of the list is: {length}")
# 使用场景
# 当你需要知道容器(如列表、字典、字符串等)中元素的数量时使用。

3. type()

# 示例代码
data = 42
print(type(data))  # 输出:
# 使用场景
# 当你需要检查变量或对象的数据类型时使用。

4. int(), float(), str()

# 示例代码
number_str = "100"
number_int = int(number_str)
number_float = float(number_str)
print(f"Integer: {number_int}, Float: {number_float}")  # 输出: Integer: 100, Float: 100.0
# 使用场景
# 当你需要将数据从一种类型转换为另一种类型时使用。

5. input()

# 示例代码
name = input("Please enter your name: ")
print(f"Hello, {name}!")
# 使用场景
# 当你需要从用户那里获取输入时使用。

6. range()

# 示例代码
for i in range(5):
    print(i)  # 输出: 0 1 2 3 4
# 使用场景
# 当你需要生成一系列连续的数字,通常用于循环计数时使用。

7. list(), tuple(), set(), dict()

# 示例代码
numbers_list = list(range(5))
numbers_tuple = tuple(numbers_list)
numbers_set = set(numbers_list)
numbers_dict = dict(enumerate(numbers_list))
print(f"List: {numbers_list}")
print(f"Tuple: {numbers_tuple}")
print(f"Set: {numbers_set}")
print(f"Dict: {numbers_dict}")
# 使用场景
# 当你需要创建特定类型的容器时使用。

8. sorted()

# 示例代码
unsorted_list = [5, 2, 9, 1, 5, 6]
sorted_list = sorted(unsorted_list)
print(sorted_list)  # 输出: [1, 2, 5, 5, 6, 9]
# 使用场景
# 当你需要对可迭代对象进行排序时使用。

9. max(), min()

# 示例代码
numbers = [5, 2, 9, 1, 5, 6]
print(f"Max: {max(numbers)}, Min: {min(numbers)}")  # 输出: Max: 9, Min: 1
# 使用场景
# 当你需要找到序列中的最大值或最小值时使用。

10. sum()

# 示例代码
numbers = [5, 2, 9, 1, 5, 6]
total = sum(numbers)
print(f"Sum: {total}")  # 输出: Sum: 28
# 使用场景
# 当你需要计算所有元素的总和时使用。

11. map()

# 示例代码
def square(x):
    return x * x
numbers = [1, 2, 3, 4]
squared_numbers = map(square, numbers)
print(list(squared_numbers))  # 输出: [1, 4, 9, 16]
# 使用场景
# 当你需要将一个函数应用于可迭代对象中的每个元素并返回结果时使用。

12. filter()

# 示例代码
def is_even(x):
    return x % 2 == 0
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = filter(is_even, numbers)
print(list(even_numbers))  # 输出: [2, 4, 6]
# 使用场景
# 当你需要筛选出满足条件的元素时使用。

13. zip()

# 示例代码
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]
pairs = zip(names, ages)
print(list(pairs))  # 输出: [('Alice', 25), ('Bob', 30), ('Charlie', 35)]
# 使用场景
# 当你需要将多个可迭代对象中的元素配对时使用。

14. open()

# 示例代码
with open('example.txt', 'w') as file:
    file.write("This is a test.")
# 使用场景
# 当你需要读写文件时使用。

15. help()

# 示例代码
help(str.split)  # 显示关于str.split的帮助文档
# 使用场景
# 当你需要查看某个对象或模块的帮助文档时使用。

16. dir()

# 示例代码
print(dir(str))  # 列出字符串类的所有属性和方法
# 使用场景
# 当你想知道一个对象有哪些属性和方法时使用。

第三方库示例

1. NumPy

import numpy as np
# 创建一个数组
array = np.array([1, 2, 3, 4, 5])
print(array)  # 输出: [1 2 3 4 5]
# 使用场景
# NumPy 是用于科学计算的基础库,特别适用于处理大量数值数据。
# 它提供了高效的多维数组对象和各种操作这些数组的函数。

2. Pandas

import pandas as pd
# 创建一个简单的DataFrame
data = {'Name': ['John', 'Anna', 'Peter'], 'Age': [28, 24, 35]}
df = pd.DataFrame(data)
print(df)
# 使用场景
# Pandas 提供了强大的数据结构(如DataFrame)来处理和分析结构化数据。
# 它非常适合于数据分析、数据清洗和数据预处理。

3. Matplotlib

import matplotlib.pyplot as plt
# 绘制一个简单的折线图
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
plt.plot(x, y)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Simple Line Plot')
plt.show()
# 使用场景
# Matplotlib 是一个非常强大的绘图库,可以用来创建静态、动态及交互式的可视化图表。
# 它广泛应用于科研论文、报告等需要高质量图形的地方。

4. Scikit-learn

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
# 加载数据集
iris = datasets.load_iris()
X, y = iris.data, iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建并训练KNN分类器
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)
# 预测
predictions = knn.predict(X_test)
print(predictions)
# 使用场景
# Scikit-learn 是一个简单而有效的机器学习库,包含了大量的监督和无监督学习算法。
# 它常被用于快速原型设计和实现机器学习模型。

5. TensorFlow / PyTorch

这里以 TensorFlow 为例:
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# 构建一个简单的神经网络模型
model = Sequential([
    Dense(10, activatinotallow='relu', input_shape=(784,)),
    Dense(10, activatinotallow='softmax')
])
# 编译模型
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])
# 打印模型概述
model.summary()
# 使用场景
# TensorFlow 和 PyTorch 是两个主流的深度学习框架,支持构建复杂的神经网络模型。
# 它们广泛应用于图像识别、自然语言处理等领域。

6. Requests

import requests
# 发送GET请求
response = requests.get('https://api.github.com')
print(response.status_code)  # 输出状态码
print(response.json())  # 输出响应内容为JSON格式
# 使用场景
# Requests 库使得发送HTTP请求变得非常容易。
# 它常用于与Web API进行交互,比如获取或提交数据。

7. Beautiful Soup

from bs4 import BeautifulSoup
import requests
# 获取网页内容
url = 'http://example.com'
page = requests.get(url).text
soup = BeautifulSoup(page, 'html.parser')
# 查找所有的链接
links = soup.find_all('a')
for link in links:
    print(link.get('href'))
# 使用场景
# Beautiful Soup 用于解析HTML和XML文档,从中提取信息。
# 它经常被用在网页抓取和数据挖掘项目中。

8. Flask / Django

这里以 Flask 为例:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def home():
    return "Hello, World!"
if __name__ == '__main__':
    app.run(debug=True)
# 使用场景
# Flask 和 Django 是Python的Web框架,用于快速开发Web应用。
# Flask 更轻量级且灵活,适合小型项目;Django 功能更全面,适合大型应用。

9. SQLAlchemy

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
Base = declarative_base()
class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String)
    age = Column(Integer)
engine = create_engine('sqlite:///example.db')
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
# 添加新用户
new_user = User(name='Alice', age=30)
session.add(new_user)
session.commit()
# 查询所有用户
users = session.query(User).all()
for user in users:
    print(user.name, user.age)
# 使用场景
# SQLAlchemy 是一个ORM工具,它允许开发者通过类来定义数据库表,并以面向对象的方式操作数据库。
# 它简化了数据库操作,提高了代码的可读性和维护性。

10. SciPy

from scipy.optimize import minimize
# 定义目标函数
def objective(x):
    return x[0]**2 + x[1]**2
# 初始猜测值
x0 = [2, 3]
# 最小化目标函数
result = minimize(objective, x0)
print(result.x)  # 输出最小值对应的x
# 使用场景
# SciPy 包含了许多科学计算中常用的数学算法,如优化、积分、插值等。
# 它是科学计算领域的一个重要工具。

11、Pillow (PIL)

Pillow 是 Python Imaging Library (PIL) 的一个分支,它提供了广泛的文件格式支持以及强大的图像处理能力。Pillow 可以用来打开、处理和保存各种图像文件格式。

安装

pip install pillow

示例代码

from PIL import Image, ImageFilter, ImageDraw, ImageFont
# 打开一张图片
image = Image.open("example.jpg")
# 显示图片
image.show()
# 转换图片模式
gray_image = image.convert("L")
gray_image.show()
# 应用滤镜
blurred_image = image.filter(ImageFilter.BLUR)
blurred_image.show()
# 缩放图片
resized_image = image.resize((100, 100))
resized_image.show()
# 旋转图片
rotated_image = image.rotate(90)
rotated_image.show()
# 在图片上绘制文字
draw = ImageDraw.Draw(image)
font = ImageFont.truetype("arial.ttf", 24)
draw.text((10, 10), "Hello, Pillow!", fnotallow=font, fill=(255, 0, 0))
# 保存处理后的图片
image.save("output.jpg")
# 使用场景
# Pillow 适用于需要进行图像处理的各种应用,如图像编辑软件、网站中的图片处理等。
# 它可以读取和写入多种图像格式,并提供了丰富的图像处理功能。

12、OpenCV

OpenCV(Open Source Computer Vision Library)是一个开源计算机视觉库,广泛用于图像处理、视频捕捉、特征检测等任务。

安装

pip install opencv-python

示例代码

import cv2
import numpy as np
# 读取图片
image = cv2.imread("example.jpg")
# 显示图片
cv2.imshow("Original Image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 转换成灰度图
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow("Gray Image", gray_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 应用高斯模糊
blurred_image = cv2.GaussianBlur(gray_image, (5, 5), 0)
cv2.imshow("Blurred Image", blurred_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 边缘检测
edges = cv2.Canny(blurred_image, 50, 150)
cv2.imshow("Edges", edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 保存处理后的图片
cv2.imwrite("output_edges.jpg", edges)
# 捕捉摄像头视频
cap = cv2.VideoCapture(0)
while True:
    ret, frame = cap.read()
    if not ret:
        break
    # 显示每一帧
    cv2.imshow("Video Capture", frame)
    # 按 'q' 键退出
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()
# 使用场景
# OpenCV 广泛应用于计算机视觉任务,包括图像处理、视频分析、物体检测、人脸识别等。
# 它在科研、工业自动化、安全监控等领域都有广泛应用。
责任编辑:武晓燕 来源: 测试开发学习交流
相关推荐

2022-03-09 09:39:22

Python函数模块

2022-03-21 21:55:43

Python编程语言

2018-08-13 14:50:02

2010-08-11 09:30:53

DB2常用函数

2024-10-28 15:57:34

Python函数

2019-02-28 20:46:35

Python高级技巧编程语言

2022-09-30 10:44:47

Netty组件数据

2020-10-27 07:37:07

Python

2023-11-23 06:51:50

PandasPython

2023-01-17 15:31:40

Python数据集数组

2022-11-28 08:02:17

DNSIP计算机

2020-03-13 09:29:27

物联网通信互联网

2010-07-16 13:57:13

Perl哈希表

2010-04-22 09:42:00

2020-08-17 13:04:06

PythonNumpy数据分析

2023-05-08 15:59:17

Redis数据删除

2010-07-15 09:14:32

SQL server组

2010-03-22 10:27:28

Python常用模块I

2010-07-27 08:48:52

DB2数据库优化

2024-06-26 13:11:40

点赞
收藏

51CTO技术栈公众号