我的Python笔记(中国大学MOOC)

  • pyinstaller 打包.py文件
  • 字符新增直接加
  • 字符中大写换小写
  • python异常处理
  • jieba库
  • 自动轨迹绘制实践
  • 体育竞技分析:模拟N场比赛
  • 自顶向下(设计)
  • 三种思维方式



注意:eval()函数是去一层引号

pyinstaller 打包.py文件

使用举例:
cd <.py>文件路径下
pyinstaller -i <文件.ico> -F <文件.py>
生成的文件dist中有可执行文件

字符新增直接加

str=""
str+=<新字符>
数组形式
str=[]
str.append(<新字符>)

字符中大写换小写

str=input
str=str.lower()
分割是split()
替换是str.replace(新的,目标)

python异常处理

留一个好的文章:https://www.cnblogs.com/Lival/p/6203111.html
try……except
try……except……else当没有发生异常时,else中的语句会被执行。
raise引发一个异常
try……finally无论异常是否发生,在程序结束前,finally语句都会被执行。

编程的起点:应该是站在巨人的肩膀上

  • 编程的起点不是算法而是 系 统
  • 编程如同搭积木,利用计算生态为主要模式
  • 编程的目标是 快 速 解决问题

python123.io看见更大的世界 全球社区pypi.org (python package index)

用户体验 -> 关注体验

  • 编程只是手段,目的是服务

1、进度展示
1)如果程序需要计算时间,可能产生等待
2)有若干步骤,需要提示用户
3)可能存在大量次数循环
2、异常处理
1)对输入的合规性检查
2)读写文件,对结果进行判断,文件是否被打开,数据是否正常
3)当进行输入输出时,对运算结果进行判断,分母为零等
3、打印输出:特定位置,输出运行过程信息
4、日志文件:对程序异常及用户使用进行定期记录
5、帮助信息:给用户多种方式提供帮助信息

jieba库

精确模式:精确的切分开,不存在冗余单词
全模式:把文本所有可能的词语都扫描出来,有冗余
搜索引擎模式:在精确模式基础上,继续对长词分割
jieba.lcut(s)精确模式,返回一个列表的分词结果
jieba.lcut(s,cut_all=True)全模式,返回一个列表,存在冗余
jieba.lcut_for_search(s)搜索引擎模式,返回一个列表结果,存在冗余
jieba.add_word(s)增加自定义新词

自动轨迹绘制实践

举一反三

  • 自动化思维:数据和功能分离,数据驱动的自动运行
  • 接口化设计:格式化设计接口,清晰明了
  • 二维数据应用:应用维度组织数据,二维数据最常用

应用问题的扩展

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

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

程序总体框架及步骤 main()
1.打印程序的介绍性信息 printIntro()
2.获取程序运行参数:proA,proB,n getInput()
3.利用球员A和B的能力值,模拟n局比赛 simNGame()
4.输出球员AB获胜比赛的场次及概率 printSummary()

自顶向下(设计)

  • 将大问题通过分解化成易解决小问题

自底向上(执行)

  • 分单元组装测试
  • 逐步组建复杂系统的有效测试方法
  • 扩展接口设计,增加更多控制接口
  • 扩展功能设计,增加弧形等更多功能
  • 扩展应用需求,发展自动轨迹绘制到动画绘制

三种思维方式

  • 逻辑思维:推理和演绎,数学为代表,A->B,B->C从而A->C
  • 实证思维:实验和验证,物理为代表,引力波实验验证
  • 计算思维:设计与构造,计算机为代表,汉罗塔递归

    • 抽象问题的计算过程,基于计算机

eg.计数求和,汉罗塔递归,圆周率随机数撒点,量化分析(股市)

  • 基于其强大的算力及海量数据
  • 抽象过程,关注设计和构造
  • 编程是将计算思维实现的手段(方法)

相关推荐