我的Python笔记(中国大学MOOC)
- 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.计数求和,汉罗塔递归,圆周率随机数撒点,量化分析(股市)
- 抽象问题的计算过程,基于计算机
- 基于其强大的算力及海量数据
- 抽象过程,关注设计和构造
- 编程是将计算思维实现的手段(方法)
纯粹于当下,执着于理想。