python常用框架及使用方法

Python 有着广泛的应用领域,从 Web 开发到数据科学、自动化脚本、机器学习等,每个领域都有对应的强大框架。下面,我将为你介绍一些最常用的 Python 框架及其使用方法,让你快速了解它们的核心功能。

1. Web 开发框架

Django

Django 是一个功能强大的 Web 开发框架,提供了许多开箱即用的功能,适合快速开发全功能网站。它遵循了“Django 方式”的约定,并且内置了 ORM、模板引擎、用户认证等功能。

  • 安装 Django

    pip install django
    
  • 创建 Django 项目

    django-admin startproject mysite
    
  • 启动开发服务器

    cd mysite
    python manage.py runserver
    
  • 创建应用
    在 Django 中,应用是一个可插拔的模块,使用以下命令创建应用:

    python manage.py startapp blog
    
  • Django 优势

    • 全栈框架,几乎可以处理 Web 开发的各个方面。
    • 有强大的 ORM 和管理界面,适合快速开发 CRUD 应用。
    • 良好的社区和文档支持。
Flask

Flask 是一个微框架,适合开发简单、灵活的 Web 应用。相比 Django,Flask 更加轻量,允许开发者根据需要添加功能。

  • 安装 Flask

    pip install Flask
    
  • 创建 Flask 项目

    from flask import Flaskapp = Flask(__name__)@app.route('/')
    def hello():return "Hello, Flask!"if __name__ == '__main__':app.run()
    
  • 运行 Flask 应用

    python app.py
    
  • Flask 优势

    • 简单、灵活,易于上手。
    • 可以根据项目需求选择插件和扩展包,适合小型项目和 API 开发。

2. 数据科学与机器学习框架

NumPy

NumPy 是 Python 科学计算的基础库,用于处理大规模的数组和矩阵运算,并且拥有丰富的数学函数库。

  • 安装 NumPy

    pip install numpy
    
  • 使用示例

    import numpy as np# 创建数组
    arr = np.array([1, 2, 3, 4])
    print(arr)# 创建 2D 数组
    matrix = np.array([[1, 2], [3, 4]])
    print(matrix)# 进行矩阵运算
    matrix_transpose = np.transpose(matrix)
    print(matrix_transpose)
    
Pandas

Pandas 是数据处理和分析的利器,它引入了 DataFrame 这一数据结构,能够方便地进行数据清理、操作和可视化。

  • 安装 Pandas

    pip install pandas
    
  • 使用示例

    import pandas as pd# 创建数据框
    data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
    df = pd.DataFrame(data)
    print(df)# 读取 CSV 文件
    df = pd.read_csv('data.csv')# 数据统计
    print(df.describe())# 数据清理
    df.dropna(inplace=True)  # 删除缺失值
    
Scikit-learn

Scikit-learn 是 Python 最流行的机器学习库,提供了各种分类、回归、聚类算法,以及数据预处理工具。

  • 安装 Scikit-learn

    pip install scikit-learn
    
  • 使用示例

    from sklearn.datasets import load_iris
    from sklearn.model_selection import train_test_split
    from sklearn.ensemble import RandomForestClassifier
    from sklearn.metrics import accuracy_score# 加载数据集
    iris = 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)# 训练模型
    clf = RandomForestClassifier()
    clf.fit(X_train, y_train)# 预测并评估
    y_pred = clf.predict(X_test)
    print(f"Accuracy: {accuracy_score(y_test, y_pred)}")
    

3. 网络爬虫框架

Scrapy

Scrapy 是一个快速、强大的 Python 爬虫框架,适用于抓取网站数据和处理 Web 内容。

  • 安装 Scrapy

    pip install scrapy
    
  • 创建 Scrapy 项目

    scrapy startproject myspider
    
  • 编写爬虫
    在 Scrapy 项目目录下,编写爬虫代码。

    import scrapyclass QuotesSpider(scrapy.Spider):name = "quotes"start_urls = ['http://quotes.toscrape.com/',]def parse(self, response):for quote in response.css('div.quote'):yield {'text': quote.css('span.text::text').get(),'author': quote.css('small.author::text').get(),}next_page = response.css('li.next a::attr(href)').get()if next_page is not None:yield response.follow(next_page, self.parse)
    
  • 运行爬虫

    scrapy crawl quotes
    

4. Web API 框架

FastAPI

FastAPI 是一个用于构建快速、现代、异步 Web API 的框架,具有极高的性能,支持自动生成 API 文档,深受开发者喜爱。

  • 安装 FastAPI 和 Uvicorn

    pip install fastapi uvicorn
    
  • 创建 FastAPI 项目

    from fastapi import FastAPIapp = FastAPI()@app.get("/")
    def read_root():return {"message": "Hello, FastAPI!"}@app.get("/items/{item_id}")
    def read_item(item_id: int, q: str = None):return {"item_id": item_id, "q": q}
    
  • 运行 FastAPI 应用

    uvicorn app:app --reload
    
  • FastAPI 优势

    • 高性能、异步框架,性能媲美 Node.js。
    • 自动生成 API 文档,支持 OpenAPI 和 JSON Schema。
    • 适合构建快速 API 服务。

5. 测试框架

PyTest

PyTest 是一个流行的 Python 测试框架,语法简单,支持自动发现测试,并且支持许多插件扩展。

  • 安装 PyTest

    pip install pytest
    
  • 编写测试

    def test_addition():assert 1 + 1 == 2def test_subtraction():assert 2 - 1 == 1
    
  • 运行测试

    pytest
    

总结

Python 框架涵盖了多个领域,适应不同的开发需求:

  • Django、Flask:Web 开发。
  • NumPy、Pandas、Scikit-learn:数据科学和机器学习。
  • Scrapy:网络爬虫。
  • FastAPI:构建高性能 Web API。
  • PyTest:测试驱动开发。

每个框架都有其独特的应用场景,根据你的需求选择合适的框架才能更高效地完成任务。继续学习并多多实践,你会逐渐掌握这些框架并能在实际项目中灵活运用!如果你有任何问题,随时问我哦 😄

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/54028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高级java每日一道面试题-2024年9月12日-安全篇[加密篇]-有哪些加密算法, 加密算法都有哪些分类?

如果有遗漏,评论区告诉我进行补充 面试官: 有哪些加密算法, 加密算法都有哪些分类? 我回答: 加密算法是用来保护信息安全的技术(保护数据的机密性、完整性和真实性),它将明文转换为密文,只有拥有正确密钥的接收者才能将其还原为原始的明文。加密算法…

PLC-Recorder 对西门子传动的采集方法

目录 一、增加西门子传动的通道 二、变量配置 2.1 语法格式 a:装置号 b:参数号 c:参数下标 2.2 配置及连接测试情况 三、正式采集 四、小结 PLC-Recorder V3.4.0版本增加了西门子传动参数采集的功能(增加了传动的设备类型&a…

详细介绍 Servlet 基本概念——以餐厅服务员为喻

什么是Servlet Servlet 是 Java EE(Java Platform, Enterprise Edition)中用于构建动态 web 应用的组件。它在服务器端运行,并能够处理客户端请求,生成动态响应。以下是对 Servlet 的详细介绍: 1. Servlet 的基本概念…

(SERIES10)DM逻辑备份还原

1 概念 逻辑备份还原是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原。逻辑导出(dexp)和逻辑导入(dimp)是 DM 数据库的两个命令行工具,分别用来实现对 DM 数据库的逻辑备份和逻…

Sqlserver常用sql

1. 数据库和表操作 创建数据库 CREATE DATABASE DatabaseName; 删除数据库 DROP DATABASE DatabaseName; 创建表 CREATE TABLE TableName ( Column1 DataType1, Column2 DataType2, ... ); 删除表 DROP TABLE TableName; 2. 数据操作 插入数据 INSERT INTO TableNam…

获取某宝拍立淘API接口:深度学习图像实现匹配和检索

1. 总体概述 拍立淘的核心技术在于图像识别与检索,融合了深度学习、计算机视觉、大数据处理等多个领域的先进技术1。通过构建大规模的商品图像数据库,并利用深度学习算法提取图像特征,实现高效的图像匹配与检索1。 2. 具体技术环节 &#…

【Linux 20】进程控制

文章目录 🌈 一、创建线程⭐ 1. 线程创建函数⭐ 3. 给线程传参⭐ 4. 创建多线程⭐ 5. 获取线程 ID 🌈 二、终止线程⭐1. 使用 return 终止线程⭐ 2. 使用 pthread_exit 函数终止线程⭐ 3. 使用 pthread_cancel 函数终止线程 🌈 三、等待线程⭐…

k8s用StatefulSet部署redis

redis-config.yaml (配置文件) apiVersion: v1 kind: ConfigMap metadata:name: redis-config data:redis.conf: |# Redis general configuration​ bind 0.0.0.0 ​ protected-mode no ​ port 6379 ​ dir /data ​ appendonly yesse…

召回02 Swing 召回通道

为了避免小圈子重合却误判物品相似度很高:降低小圈子对相似度的影响。

更新20240915机器视觉海康Visionmaster学习步骤

一:海康VM软件: https://www.hikrobotics.com/cn/machinevision/service/download?module0 安装三个包(官网已经公布4.4,市面上还是主要以4.3为主) VisionMaster基础安装包V4.3.0 VisionMaster深度学习安装包 V4.3.0 VisionMaster示例程序 V4.3.0 …

matlab data = textscan(lin(5:end),‘%f%f%f%f%*[^\n]‘);语句解释

这行 MATLAB 代码使用 textscan 函数从文本中读取数据,并将其存储在 data 变量中。 data textscan(lin(5:end), %f%f%f%f%*[^\n]);解释 1. textscan 函数 textscan 是 MATLAB 中用于从文本中读取数据的函数。它将文本行按指定的格式读取,并将结果存储…

cc2530按键中断实现控制LED

1开启中断的步骤 1-1使能端口组的中断 IEN1 IEN2 实例 IEN2 | 0x10 //使能P1口中断 1-2 端口中断屏蔽 P0IEN和P1IEN P2IEN 实例 P1IEN |0x10; //使能P1_2口中断 1-3设置触发方式 PICTL 实例 PICTL |0X02 ;//P1_3到P1_2口下降沿触发 1-4设置中断优先级…

Android 13 固定systemUI的状态栏为黑底白字,不能被系统应用或者三方应用修改

目录 一.背景 二.思路 三.代码流程 1.colos.xml自定义颜色 2.设置状态栏的背景颜色 3.对View进行操作 ①.对Clock(状态栏左侧的数字时钟)进行操作 ②.对电池(BatteryMeterView)进行操作 4.锁屏状态栏 5.patch汇总 一.背景 客户需求将状态栏固定成黑底白字,并且不能让系…

数据结构应用实例(五)——关键路径

Content: 一、问题描述二、算法思想三、代码实现四、小结 一、问题描述 设计实现 AOE 网的关键活动与关键路径问题; 二、算法思想 获取拓扑序列;计算节点的最早开始时间 v e [ i ] ve[i] ve[i];计算节点的最晚开始时间 v l [ j ] vl[j] v…

《SpringBoot+Vue》Chapter01_SpringBoot介绍

SpringBoot的介绍 简单来说,SpringBoot就是Spring提供的用于Web开发的脚手架框架。配置简单、上手快速 SpringBoot的特性 自带tomcat、Jetty服务器可以部署war包自动配置Spring框架和第三方框架能够提供应用的健康监控和配置的监控没有代码生成,并且尽可…

爬虫逆向学习(六):补环境过某数四代

声明:本篇文章内容是整理并分享在学习网上各位大佬的优秀知识后的实战与踩坑记录 引用博客: https://blog.csdn.net/shayuchaor/article/details/103629294 https://blog.csdn.net/qq_36291294/article/details/128600583 https://blog.csdn.net/weixin_…

富文本中去掉 HTML 和 CSS 样式,只保留纯文本

要从富文本中去掉 HTML 和 CSS 样式,只保留纯文本,可以使用以下几种方法: 1. 纯 JavaScript 方法 你可以使用 JavaScript 的 innerText 或 textContent 来提取文本,而忽略 HTML 标签和样式。 function stripHtml(html) {var te…

C++_20_多态

多继承会造成 菱形继承** 使用虚继承来解决 不是给爷爷类加 也不是给子类加 是给父类加 虚基指针和虚基表 多态 概念: 概念: 一个事物的多种形态,简称多态 如: 对象的多态 ​ 张三 ​ 在对象面前 怂 ​ 在朋友面前 谄媚 ​ 在父…

python 读取excel数据存储到mysql

一、安装依赖 pip install mysql-connector-python 二、mysql添加表students CREATE TABLE students (ID int(11) NOT NULL AUTO_INCREMENT,Name varchar(50) DEFAULT NULL,Sex varchar(50) DEFAULT NULL,PRIMARY KEY (ID) ) ENGINEInnoDB AUTO_INCREMENT13 DEFAULT CHARSETu…

二十三种设计模式之原型模式

一.什么是原型模式 ‌‌原型模式是一种创建型对象设计模式,它通过复制一个已经创建的实例(即原型对象)来创建一个和原型对象相同的新对象。‌ 这种模式在面向对象软件设计中非常有用,因为它允许通过复制现有对象来快速生成多个相似…