码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 北理工嵩天Python语言程序设计笔记(9 程序设计方法学)


    前言

    本文是对《北理工 嵩天/黄天宇/礼欣 Python语言程序设计》的学习笔记,供自己查阅使用。

    文章目录

    1. 北理工嵩天Python语言程序设计笔记(目录)
    2. 北理工嵩天Python语言程序设计笔记(2 Python基本语法元素)
    3. 北理工嵩天Python语言程序设计笔记(3 Python基本图形绘制)
    4. 北理工嵩天Python语言程序设计笔记(4 基本数据类型)
    5. 北理工嵩天Python语言程序设计笔记(5 程序的控制结构)
    6. 北理工嵩天Python语言程序设计笔记(6 函数和代码复用)
    7. 北理工嵩天Python语言程序设计笔记(7 组合数据类型)
    8. 北理工嵩天Python语言程序设计笔记(8 文件和数据格式化)
    9. 北理工嵩天Python语言程序设计笔记(9 程序设计方法学)
    10. 北理工嵩天Python语言程序设计笔记(10 Python计算生态概览)

    笔记目录

    • 前言
    • 文章目录
    • 9 程序设计方法学
      • 9.1 实例13: 体育竞技分析
      • 9.2 Python程序设计思维
        • 9.2.1 计算思维与程序设计
        • 9.2.2 计算生态与Python语言
        • 9.2.3 用户体验与软件产品
        • 9.2.4 基本的程序设计模式
      • 9.3 Python第三方库安装
        • 9.3.1 看见更大的Python世界
        • 9.3.2 第三方库的pip安装方法
        • 9.3.3 第三方库的集成安装方法
        • 9.3.4 第三方库的文件安装方法
      • 9.4 模块7: os库的基本使用
        • 9.4.1 os库之路径操作
        • 9.4.2 os库之进程管理
        • 9.4.3 os库之环境参数
      • 9.5 实例14: 第三方库自动安装脚本


    9 程序设计方法学

    9.1 实例13: 体育竞技分析

    • 体育竞技分析:模拟N场比赛

      • 计算思维:抽象+ 自动化
      • 模拟:抽象比赛过程+ 自动化执行N场比赛
      • 当N越大时,比赛结果分析会越科学
    • 自顶向下(分而治之)

      • 将一个总问题表达为若干个小问题组成的形式
      • 使用同样方法进一步分解小问题
      • 直至,小问题可以用计算机简单明了的解决
    • 自底向上(执行)(模块化集成)

      • 逐步组建复杂系统的有效测试方法
      • 分单元测试,逐步组装
      • 按照自顶向下相反的路径操作
      • 直至,系统各部分以组装的思路都经过测试和验证

    9.2 Python程序设计思维

    9.2.1 计算思维与程序设计

    • 逻辑思维:推理和演绎,数学为代表,A->B B->C A->C

    • 实证思维:实验和验证,物理为代表,引力波<-实验

    • 计算思维:设计和构造,计算机为代表,汉诺塔递归

      Computational Thinking 抽象问题的计算过程,利用计算机自动化求解

    9.2.2 计算生态与Python语言

    • 竞争发展;相互依存;迅速更迭
    • 创新:跟随创新、集成创新、原始创新

    9.2.3 用户体验与软件产品

    • 方法1:进度展示

      • 如果程序需要计算时间,可能产生等待,请增加进度展示
      • 如果程序有若干步骤,需要提示用户,请增加进度展示
      • 如果程序可能存在大量次数的循环,请增加进度展示
    • 方法2:异常处理

      • 当获得用户输入,对合规性需要检查,需要异常处理
      • 当读写文件时,对结果进行判断,需要异常处理
      • 当进行输入输出时,对运算结果进行判断,需要异常处理
    • 其他类方法

      • 打印输出:特定位置,输出程序运行的过程信息
      • 日志文件:对程序异常及用户使用进行定期记录
      • 帮助信息:给用户多种方式提供帮助信息

    9.2.4 基本的程序设计模式

    • 自顶向下设计
    • 模块化设计
    • 配置化设计:引擎+配置:程序执行和配置分离,将可选参数配置化
    • 应用开发:产品定义,系统架构,设计与实现,用户体验

    9.3 Python第三方库安装

    9.3.1 看见更大的Python世界

    • PyPI: Python Package Index
    • https://pypi.org/

    9.3.2 第三方库的pip安装方法

    pip –h
    pip install <第三方库名>  # 安装指定的第三方库
    pip install –U <第三方库名>  # 使用-U标签更新已安装的指定第三方库
    pip uninstall <第三方库名>  # 卸载指定的第三方库
    pip download <第三方库名>  # 下载但不安装指定的第三方库
    pip show <第三方库名>  # 列出某个指定第三方库的详细信息
    pip search <关键词>  # 根据关键词在名称和介绍中搜索第三方库
    pip list  # 列出当前系统已经安装的第三方库
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    9.3.3 第三方库的集成安装方法

    • 集成安装:结合特定Python开发工具的批量安装,Anaconda

    9.3.4 第三方库的文件安装方法

    • 某些第三方库pip下载后,需要编译再安装

    http://www.lfd.uci.edu/~gohlke/pythonlibs/

    pip install <文件名>

    Python官方文档:https://docs.python.org/zh-cn/3/

    9.4 模块7: os库的基本使用

    os库提供通用的、基本的操作系统交互功能

    • 路径操作:os.path子库,处理文件路径及信息
    • 进程管理:启动系统中其他程序
    • 环境参数:获得系统软硬件信息等环境参数

    9.4.1 os库之路径操作

    os.path子库以path为入口,用于操作和处理文件路径

    import os.path
    import os.path as op
    
    • 1
    • 2

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    9.4.2 os库之进程管理

    os.system(command)

    • 执行程序或命令command
    • 在Windows系统中,返回值为cmd的调用返回信息
    import os
    os.system("C:\\Windows\\System32\\calc.exe")
    >>>
    0  # 调用成功,返回0
    
    • 1
    • 2
    • 3
    • 4

    9.4.3 os库之环境参数

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    9.5 实例14: 第三方库自动安装脚本

    • 需求:批量安装第三方库需要人工干预,能否自动安装?
    • 自动执行pip逐一根据安装需求安装
    #BatchInstall.py
    import os
    libs = {"numpy","matplotlib","pillow","sklearn","requests",\
    "jieba","beautifulsoup4","wheel","networkx","sympy",\
    "pyinstaller","django","flask","werobot","pyqt5",\
    "pandas","pyopengl","pypdf2","docopt","pygame"}
    try:
        for lib in libs:
        os.system("pip install " + lib)
        print("Successful")        
    except:
    	print("Failed Somehow")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    蓝桥杯2022年第十三届决赛真题-修路
    JS中的括号和点号
    【推荐系统】推荐系统基础算法-基于协同的推荐算法
    【C++】线程库
    python 2.7.18安装jupyter遇到的一个错误
    后台开发核心技术与应用实践看书笔记(二):面向对象的C++
    深度学习 Day 12——利用卷神经网络实现MNIST手写数字的识别
    [FSCTF 2023] web题解
    详细介绍NLP中文分词原理及分词工具
    C++的必备入门学习
  • 原文地址:https://blog.csdn.net/yyywxk/article/details/127692347
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号