Python基础 - 3.项目需求与开发

Python编程:从入门到实践+爬虫开发与项目实战+网络编程基础+项目开发实战 给还在苦苦自学Python的小伙伴们分享一波学习教程~有了它们,至少能节省50%的时间,少走一半的弯路。 书不在多,而在于精~ 《Python编程:从入门到实践》豆瓣评分9.2 本书是针对所有层次Python读者而作的Python入门书。全书分两部分:第一部分介绍用Python编程所必须了解的基本概念,包括Matplotlib等强大的Python库和工具,以及列表、字典、if语句、类、文件与异常、代码测试等内容;第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的2D游戏、利用数据生成交互式的信息 阅读详情

项目需求

一.从零创建baoaiback项目

1.创建虚拟环境venv

2.导入依赖库requirements.txt

3.Git项目版本库初始化

4.配置文件

  1. .gitignore

  2. config.py

  3. logging_config.py

5.创建主控文件manage.py和www_manage.py

6.创建Restful应用目录 app

7.创建WWW应用目录 www

8.设置项目目录结构:

在这里插入图片描述

9.flask_restplus和flask_restplus_patched需要从https://gitee.com/yuanbaonet/baoaiback中复制。

10.app应用中包含:

在这里插入图片描述

11.www应用中包含:

在这里插入图片描述

二. 通用类开发

1.目录:app/common

2.状态类Status, 文件status.py ,包括成功和失败两种状态,每个状态包含状态码和状态信息两个属性。

  1. 如成功状态调用方法Status.SUCCESS.status Status.SUCCESS.message

  2. 失败状态调用方法:Status.ERROR.status Status.ERROR.message

  3. SUCCESS 属性 status 值 200000,message 值 Success

  4. ERROR 属性 status 值 200400,message 值 Error

3.响应结果类 Result,文件 result.py,包括成功和失败两种返回结果。

{

     "status": status,

     "message": message,

     "data": data

    }

4.静态方法 success() 和 error(), status和message默认来自Status

三. 项目版本信息

  1. app和www应用中设置__version__及__description__

  2. python manage.py baoai 或 python www_manage.py baoai显示版本信息

四. app应用模块化开发架构:

  1. 目录结构:app应用功能模块目录:app/modules , 自定义功能模块加入该目录中。

  2. 模块执行流程:manage.py => app.create_app => app.modules.init_app =>
    app.modules.admin.init_app + app.modules.profiles.init_app

  3. 案例 :

    1. 增加两个功能模块(目录需带有__init__.py),账号模块
      admin和账号概要信息模块profiles

    2. admin模块__init__.py 定义init_app函数,函数内容: print(“admin init”)

    3. profiles模块__init__.py 定义init_app函数,函数内容: print(“profiles
      init”)

    4. modules 模块init_app自动查找该模块的所有子模块(admin, profiles),
      并执行每个模块中的init_app函数

    5. app模块定义create_app函数, 并调用子模块modules的init_app函数。

    6. 项目主运行文件manage.py 调用app模块的create_app函数

五. www应用模块化开发架构:

  1. 目录结构:www应用功能模块目录:www/modules , 自定义功能模块加入该目录中。

  2. 模块执行流程:www_manage.py => www.create_app => www.modules.init_app =>
    www.modules.main.init_app + app.modules.about.init_app

  3. 案例 :

    1. 增加两个功能模块(目录需带有__init__.py),首页模块 main和关于模块about

    2. main模块__init__.py 定义init_app函数,函数内容: print(“main init”)

    3. about模块__init__.py 定义init_app函数,函数内容: print(“about init”)

    4. modules 模块init_app自动查找该模块的所有子模块(main, about),
      并执行每个模块中的init_app函数

    5. www模块定义create_app函数, 并调用子模块modules的init_app函数。

    6. 项目主运行文件www_manage.py 调用www模块的create_app函数

项目开发工具

Visual Studio Code

下载插件

  • Chinese (Simplified) Language Pack for Visual Studio Code\ :中文语言包

  • jshint\ :js语法检验

  • git history\:git 日志管理

  • Python\:语法检查, 调试 (包含远程调试), 智能感知, Jupyter Notebooks, 代码格式化, 代码重构, 单元测试, 代码片段等。

code默认已经支持HTML5、CSS和JS 语法检查, 调试 (包含远程调试), 智能感,
, 代码重构, 单元测试, 代码片段等。

项目实战

完成项目需求(一)

创建BaoAI Back 后端项目

例:创建项目目录:

/baoai/baoaiback/

将baoaiback做为项目目录。

虚拟环境创建

# 1. 创建虚拟环境

# windows, 假设项目根路径:d:/baoai/baoaiback/

cd d:/baoai/baoaiback

mkdir venv

cd venv

python -m venv .

# 运行虚拟环境

d:/baoai/baoaiback/venv/Scripts/activate.bat

cd d:/baoai/baoaiback

# linux, 假设项目根路径:/baoai/baoaiback/

cd /baoai/baoaiback

mkdir venv

cd venv

python -m venv .

# 运行虚拟环境

source /baoai/baoaiback/venv/bin/activate

cd /baoai/baoaiback

下载requirements.txt

https://gitee.com/yuanbaonet/baoaiback/blob/master/requirements.txt

# 安装依赖库(必须处于虚拟环境)

安装依赖库国内常用镜像

https://pypi.tuna.tsinghua.edu.cn/simple/ \# 清华大学

https://mirrors.aliyun.com/pypi/simple/ \# 阿里云

https://pypi.douban.com/simple/ \# 豆瓣

https://pypi.mirrors.ustc.edu.cn/simple/ \# 中国科学技术大学

https://pypi.hustunique.com/ \# 华中科技大学

# windows 安装依赖库

python -m pip install --upgrade pip

pip install -r requirements.txt

# 如果下载速度慢可以采用国内镜像(推荐)

python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

Git版本管理:项目初始化

Git 初始化

新增
.gitignore,从https://gitee.com/yuanbaonet/baoaiback中.gitignore内容复制过来。

https://gitee.com/yuanbaonet/baoaiback/blob/master/.gitignore

新建项目目录结构及文件

按需求设置项目目录及文件。从https://gitee.com/yuanbaonet/baoaiback中复制flask_restplus和flask_restplus_patched依赖库。

app和www目录及所有子目录都需增加__init__.py文件,目的使app和www由项目应用目录变成模块

提交项目文件至git版本库

全部提交文件至git版本库,同时标记版本:baoai_python_v3

本章项目源码

URL:https://gitee.com/yuanbaonet/master_python/tree/baoai_python_v3/

对应版本:baoai_python_v3

python零基础入门书籍pdf,python3.6从入门到精通pdf 本书包括Python程序设计的方方面面:首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句;最后,作者结合前面讲述的内容,按照实际项目开发的步骤向读者介绍了10个具有实际意义的Python项目的开发过程。本书是经典的Python入门教程,层次鲜明、结构严谨、内容翔实,特别是后面几章,作者将前面讲述的内容应用到10个引人入胜的项目中,并以模板的形式介绍了项目的开发过程,手把手教授Python编程实践,让读者从项目中领略Python的真正魅力。 阅读详情

相关推荐

python项目开发案例集锦 pdf,python项目开发案例

在使用列表的时候,有时会需要取最后一个元素,有下面几种方式可以实现。

Hj1839的博客 1131

Python项目(超详细)

该篇博客主要利用Django框架与Mysql实现一个较为简易的项目,代码几乎都有注释,内容言简意赅,方便理解,快来观看吧!!!

m0_75048124的博客 5675

Python PySide6桌面应用程序开发从零基础到项目实战

摘要 本文系统介绍了使用PySide6开发Python桌面应用的完整路径,包含三个核心阶段:基础入门、进阶组件和项目实战。主要内容包括: 基础入门: 环境搭建与核心概念(QApplication、窗口类) 常用组件使用(QLabel、QPushButton等) 布局管理(QVBoxLayout、QGridLayout等) 进阶知识: 信号与槽机制 Qt Designer工具使用 复杂组件开发 项目实战: 图书管理系统开发 项目架构设计 打包与跨平台部署 文章还提供了大量代码示例和最佳实践,特别适合从零开始学

漫画之迷学编程 1363

用python制作的软件1-需求分析和环境部署

部门有项目是嵌入公司的app里的,因为跨部门跨权限,没有共用的token或者万能令牌。测试时如果要拿token,我是在app里登录了账号,通过一系列跳转操作然后通过fiddler抓包,在接口的header里将token拿出来,给开发调试使用。这样其实也不麻烦,但是当我请假时,还是有开发给我发消息。所以我研究了下这个token的生成规则,给开发写一个token生成工具,让他在没有我的时候也能自己去获取。已知的需求是:根据用户录入的工号生成对应的token,页面有简单的清空/复制功能。

weixin_44857268的博客 546

Python 实战前必看:项目开发流程(需求分析 + 技术选型,避免盲目写代码)

本文介绍了Python实战开发的系统化流程,以"定时天气邮件"项目为例,重点阐述了四个关键步骤:1.需求分析(明确目标、边界和约束条件);2.技术选型(根据功能匹配度、学习成本等选择合适工具);3.方案设计(拆解任务模块、梳理流程);4.落地验证(分层测试)。文章强调开发前期的规划比代码本身更重要,提出"先想清楚再动手"的理念,能有效规避盲目编码导致的返工。最后指出不同类型项目的侧重点差异,建议根据项目规模灵活应用这套流程。

xiaojie963的博客 1255

用Python 3开发的Eliza聊天程序:从基础到实战

简介:Eliza是一款基于规则的聊天机器人,起源于1960年代,模拟心理治疗中的“空椅疗法”。Python 3,因其友好的语法和强大的标准库,成为开发Eliza的理想选择。本教程将带你了解如何在Python 3环境下,借助Eclipse和PyDev插件,实现Eliza的现代版本,并探讨其核心实现细节和开发流程。

weixin_35459464的博客 935

Python能做哪些副业单子?近期副业需求列表展示

Python能做哪些副业单子?近期副业需求列表展示

Python单行客的博客 335

Python项目结构与开发规范

本文还有配套的精品资源,点击获取 简介:标题"Project"可能指代一个以Python编程语言开发的项目。该项目遵循标准的软件开发实践,包括组织源代码、编写测试、维护配置、生成文档、管理依赖、版本控制、构建安装、版权许可、撰写README文件、以及可能包含CI/CD流程。这些组成部分确保了代码的可维护性、可测试性、以及易用性。了解这些结构对于Python项目开发和维护至关...

weixin_33239721的博客 1203

python项目实战:酒店需求分析(hotel demand booking)

酒店预定需求分析报告 数据来源:https://www.kaggle.com/jessemostipak/hotel-booking-demand 包含了城市酒店与度假酒店的预定信息 依据酒店类型的比较 酒店自身运营情况 总营业额 按年 按月 人均每晚房价比较 月份 房间类型 市场细分 入住率与取消率比较 取消的影响因素 当前预订前取消的先前预订的影响 提前预订的天数 付款方式的不同 预定渠道的不同 客户行为分析 国籍 入住时间 提前预定时长 入住时长 餐型选择 预定渠道 字

qq_45093647的博客 7248

工业视觉开发者的福音:用C#玩转VisionMaster算子(非方案版完整教程)

本文为工业视觉开发者提供了一份完整的C#与VisionMaster算子二次开发教程,详细介绍了环境配置、算子调用原理、性能优化技巧及实战案例。通过模板匹配和二维码识别等实例,展示了如何高效集成VisionMaster算子到现有框架中,提升工业自动化视觉检测系统的灵活性和性能。

weixin_29280657的博客 270

高速DAC设计与实现--AD9122

目录 芯片简介: 功能配置设计 高速DAC软件驱动设计 芯片简介: AD9122 是一款双通道16位高性能数模转换器(DAC),在800MSPS工作条件下其无杂散动态范围(SFDR)高达72dBc,最高可提供1200 MSPS采样速率。 高速DAC--AD9122电路原理图 硬件设计的电路原理图如上图所示,AD9122具备针对直接变频传输应用进行优化的特性,包括复数数字调制以及增益与失调补偿。DAC输出经过优化后可直接与模拟正交调制器无缝接口,便于后期使...

独木舟216的博客 1万+

Python的应用场景和市场需求

这方面对学历的要求非常高、非常残酷。在招聘网站上浏览一下,会发现,岗位不算多,但工资挺诱人,工作2年+一线城市在18K-35K之间。不过学历要求基本是硕士,再不济也是211/985院校。所以,如果学历不是你的优势,建议你慎重!!!一般的小公司,完全没有数据分析的必要性,重点在产品,如何快速的开发出产品让其上线?用户量少,数据量少,数据就完全发挥不出价值。就意味着,不需要数据分析和挖掘工程师。因此来看,数据分析工程师的岗位会相对较少,毕竟有大数据的公司屈指可数,且学历也有一定的要求。

VN520的博客 938

QT6与QT5安装全攻略:从下载到环境配置一站式指南

本文提供了一份详尽的QT6与QT5安装教程,涵盖从版本选择、在线安装器使用到环境变量配置的全过程。针对新手常见痛点,重点对比了QT6与QT5的安装差异,并给出了MinGW与MSVC编译器的选择建议,旨在帮助开发者快速搭建稳定可用的QT开发环境,避免常见错误。

weixin_29216353的博客 310

Python入门:Python3 基础语法全面学习教程

Python入门:Python3 基础语法全面本,是 Python3 基础语法的全面学习教程,面向初学者。内容涵盖编码规范(默认 UTF-8 及其他编码指定)、标识符命名规则(构成、合法与非法示例及检测方法)、保留关键字(分类及说明)、注释方法(单行与多行)、行与缩进规则(代码块标识及错误示例)、多行语句处理(反斜杠及括号换行)、数据类型(数字四类及字符串操作)、空行使用、用户输入、语句分隔与代码组、print 输出控制、模块导入方式及命令行参数等核心知识点,旨在帮助初学者掌握基础语法,为后续学习奠定基础。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 4万+

别再瞎调了!手把手教你用ADI IIO Oscilloscope配置AD936x的AGC(附Pluto SDR实测)

本文详细介绍了如何使用ADI IIO Oscilloscope工具配置AD936x系列射频捷变收发器的自动增益控制(AGC)功能,包括Slow/Fast Attack模式的参数设置与优化技巧。通过Pluto SDR硬件实测演示,帮助开发者快速掌握AGC配置方法,提升无线通信系统的接收性能。

weixin_30267785的博客 577

AUTOSAR实战:手把手教你配置EthTsync模块,搞定车载以太网时间同步

本文详细解析AUTOSAR架构中EthTsync模块的配置方法,实现车载以太网时间同步。通过对比gPTP与PTP协议差异,提供从开发环境准备到参数配置、模块集成的全流程指南,并分享性能优化与调试技巧,帮助开发者实现微秒级同步精度,满足自动驾驶等高精度时间同步需求。

weixin_28736335的博客 374

【Python工程化】一文搞懂:Python项目开发流程与规范

需求分析:明确项目目标和功能需求系统设计:制定技术方案和架构设计编码实现:按照规范进行代码编写测试验证:确保代码质量和功能正确性部署发布:将应用部署到目标环境维护更新:持续优化和功能迭代这些阶段不是严格线性的,而是在实际开发中往往交错进行,尤其在敏捷开发模式下,会有更多的迭代和反馈循环。规范的Python项目开发流程不仅能提高代码质量,还能提升团队协作效率和项目可维护性。科学的项目结构组织一致的编码规范与代码风格完善的测试覆盖自动化的开发工具链持续集成与部署全面的文档体系。

climber1121的博客 4662

Windows 下 OpenClaw(小龙虾) 安装全记录:从零到一的保姆级图文教程(持续更新中)

本文主要介绍了Windows 下 OpenClaw 安装全记录:从零到一的保姆级图文教程,希望能对学习使用OpenClaw 的同学们有所帮助。 文章目录 1. 背景 2. 实战教程 2.1 步骤一 安装Node.js 2.2 步骤二:安装并配置OpenClaw 2.3 步骤三:配置模型 2.4 步骤四:对话 3. 后续使用步骤

weixin_43178406的博客 16万+

AI入门:从基础到实践的项目开发流程

本文详细介绍了从基础到实践的AI项目开发流程,帮助初学者和开发者快速入门并成功实现AI项目。流程包括需求分析、数据收集与预处理、模型选择与训练、模型评估与优化、模型部署与监控。通过一个图像分类项目的实战案例,展示了如何使用Python和TensorFlow进行开发,涵盖了环境准备、数据处理、模型构建、训练与评估、部署与监控等步骤。文章还提供了丰富的学习资源,包括视频、课件、源码、论文等,帮助读者深入学习和实践AI技术。

2501_91624122的博客 1458

Python爬虫实战:使用最新技术爬取GitHub Trending项目

本文将详细介绍如何使用Python最新技术栈构建一个高效的GitHub Trending爬虫。我们将使用异步请求库httpx、HTML解析库parsel、数据存储方案以及反反爬技术,完整实现一个能够稳定获取GitHub Trending数据的爬虫系统。文章包含5000余字详细教程,从环境搭建到代码实现,再到数据处理和存储,最后部署运行,提供全方位指导。GitHub Trending页面展示了GitHub上当前最受欢迎的项目,对于开发者了解技术趋势、发现优秀项目非常有价值。

2201_76125261的博客 738

优化点列图(RMS半径)的操作数

优化点列图(RMS半径)的操作数

weixin_72050316的博客 2257

python项目开发案例集锦,python开发大型web项目

① Python所有方向的学习路线图,清楚各个方向要学什么东西② 600多节Python课程视频,涵盖必备基础、爬虫和数据分析③ 100多个Python实战案例,含50个超大型项目详解,学习不再是只会理论④ 20款主流手游迫解 爬虫手游逆行迫解教程包⑤ 爬虫与反爬虫攻防教程包,含15个大型网站迫解⑥ 爬虫APP逆向实战教程包,含45项绝密技术详解⑦ 超300本Python电子好书,从入门到高阶应有尽有⑧ 华为出品独家Python漫画教程,手机也能学习。

2301_81900439的博客 818

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

s3browser 的项目扩展与二次开发

`s3browser` 是一个开源项目,旨在提供一个简单易用的图形界面来管理 Amazon S3 存储桶中的文件。它是一个用 Python 编写的跨平台应用,可以帮助用户轻松地上传、下载、删除和管理 S3 存储桶中的对象。 ## 项目的核心功能 `s3browser` 的核心功能包括: - 浏览和管理 S3 存储桶中的文件和文件夹。 - 上传本地文件到 S3 存储桶。 - 下载 S3 存储桶...

gitblog_01138的博客 862

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Python 3.x网络爬虫从零基础到项目实战

requests: 简单易用的 HTTP 库print(response.status_code) # 200 表示成功print(response.text) # 输出网页内容urllib: Python 标准库中的 URL 处理模块: 网页解析库,用于从 HTML 或 XML 文件中提取数据print(soup.p.text) # 输出: Hello Worldlxml: 高效的 XML 和 HTML 解析库print(result) # 输出: ['Hello World']

小宝哥Code的专栏 2857

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

python项目开发案例集锦,python项目开发流程

① Python所有方向的学习路线图,清楚各个方向要学什么东西② 600多节Python课程视频,涵盖必备基础、爬虫和数据分析③ 100多个Python实战案例,含50个超大型项目详解,学习不再是只会理论④ 20款主流手游迫解 爬虫手游逆行迫解教程包⑤ 爬虫与反爬虫攻防教程包,含15个大型网站迫解⑥ 爬虫APP逆向实战教程包,含45项绝密技术详解⑦ 超300本Python电子好书,从入门到高阶应有尽有⑧ 华为出品独家Python漫画教程,手机也能学习。

gk12336的博客 955

py2to3——如何将Python2项目升级为Python3项目

py2to3--我是如何将Python2项目升级为Python3项目的前言2to3py2to3快速开始需要注意from compiler.ast import flatten持续更新,欢迎评论。。。结语关于作者 前言 目前为止我总共用这个方法论对两个Python2web框架升级。 本编主要为踩坑篇,如果有不错的经验分享欢迎评论✌ 2to3 python有自带的转换模块,可以将xxx.py的Pyth...

Huifeng Tang 的博客 2337
上一篇: Python基础 - 2.Python安装和运行
下一篇: Python基础 - 4.基础语法
idsof
博客等级 码龄21年 9粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值