七:使用元组字面量,tuple创建元组实例对象的实例
如果元组中只有一个项目,后面的逗号不能省略。
Python解释器把(1)解释为整数1,将(1,)解释为元组
八:使用列表字面量,list创建列表实例对象的实例
补充:列表是可变对象,故用户可以改变列表对象中元素的值,也可以通过del
删除某元素
九:列表解析表达式示例
使用列表解析表达式可以简单,高效地处理一个可迭代对象,并生成结果列表
选择题:4、5、7、11、12
通过猜单词游戏的设计和实现,帮助读者了解使用Python系列数据类型和控制流程
一:运行时提示输入密码
输入密码时,一般需要不明显,则可以使用模块getpass,以保证用户输入的密码在控制台中不回显
input()#为了看到输出结果。因为执行完毕后,控制台会立马关闭
注意:上面这个代码,如果使用IDLE执行,会因为安全问题而执行失败
但是,在控制台中执行就没问题,看输出结果(可以看到,输入的密码不会显示出来):
二:重定向标准输出到一个文件的示例
这种重定向由控制台完成,而与Python本身无关。
其目的是将显示屏从标准输出中分离,并将输出文件与标准输出关联,即程序的执行结果将写入输出文件,而不是发送到显示屏中显示
通过21点扑克牌游戏的设计和实现,了解使用Python数据类型、控制流程和输入输出
Python语言采用结构化的异常处理机制捕获和处理异常
而我感觉,Python在这方面的知识点其实和Java的差不多
一:程序的错误和异常处理
指源代码中的拼写错误,这些错误导致Python编译器无法把Python源代码转换为字节码,故也称之为编译错误
在解释执行过程中产生的错误
程序可以执行(程序运行本身不报错),但执行结果不正确。
对于逻辑错误,Python解释器无能为力,需要用户根据结果来调试判断
大部分由程序错误而产生的错误和异常一般由Python虚拟机自动抛出。另外,在程序中如果判断某种错误情况,可以创建相应的异常类的对象,并通过raise语句抛出
在程序中的某个方法抛出异常后,Python虚拟机通过调用堆栈查找相应的异常捕获程序。如果找到匹配的异常捕获程序(即调用堆栈中的某函数使用try…except语句捕获处理),则执行相应的处理程序(try…except语句中匹配的except语句块)
如果堆栈中没有匹配的异常捕获程序,则Python虚拟机捕获处理异常,在控制台打印出异常的错误信息和调用堆栈,并中止程序的执行
不管异常发生与否都保证执行的语句
except语句可以写多个,但是要注意一点:系统是自上而下匹配发生的异常,所以用户需要将带有最具体的(即派生类程度最高的)异常类的except写在前面
三:创建自定义异常,处理应用程序中出现的负数参数的异常
自定义异常类一般继承于Exception或其子类。自定义异常类的名称一般以Error或Exception为后缀
用户在编写程序时,在调试阶段往往需要判断代码执行过程中变量的值等信息:
- 用户可以使用print()函数打印输出结果
- 也可以通过断点跟踪调试查看变量
__debug__
也是布尔值,Python解释器有两种:调试模式和优化模式
了解使用Python调试器调试程序的方法
一些知识点总结和几个例题
Python中函数的分类:
- Python语言安装程序同时会安装若干标准库,例如math、random等
- Python社区提供了许多其它高质量的库,在下载、安装这些库后,通过import语句可以导入库
- 函数名为有效的标识符(命名规则为全小写字母,可以使用下划线增加可阅读性,例如
my_func()
)
- 函数可以使用return返回值
如果函数体中包含return语句,则返回值,
否则不返回,即返回值为空(None),无返回值的函数相当于其它编程语言中的过程
调用函数之前程序必须先执行def语句,创建函数对象
- 内置函数对象会自动创建
- import导入模块时会执行模块中的def语句,创建模块中定义的函数
一:产生副作用的函数,纯函数
上面代码中的print_star()
是一个产生副作用的函数,其副作用是向标准输出写入若干星号
-
副作用:例如读取键盘输入,产生输出,改变系统的状态等
- 在一般情况下,产生副作用的函数相当于其它程序设计语言中的过程,可以省略return语句
定义计算并返回第n阶调和数(1+1/2+1/3+…+1/n)的函数,输出前n个调和数
了解Python函数的定义和使用
由于本文的内容太多了,导致了两个很不好的结果,
一是:在网页中打开本篇博客的加载时间太长了,明显的卡顿很影响阅读体验;
二是:本人在对本篇文章进行更新或者修改内容时,卡的要死。
将本文第八章后面的很多内容拆分到新的文章中,望大家理解
- 《Python程序设计与算法基础教程(第二版)》江红 余青松,第九章课后习题答案
- 《Python程序设计与算法基础教程(第二版)》江红 余青松,第十章课后习题答案
- 《Python程序设计与算法基础教程(第二版)》江红 余青松,第十一章课后习题答案
我对图形用户界面基本无兴趣,无特殊情况,基本不打算碰这方面内容
案例研究:简易图形用户界面计算器
与上一章相同,我对于图形绘制的兴趣也基本没有,尝试做了2-7题,就完全没兴趣做下去了
2. 参考例13.2利用Canvas组件创建绘制矩形的程序,尝试改变矩形边框颜色以及填充颜色
- (x0,y0)是左上角的坐标
- (x1,y1)是右下角的坐标
3. 参考例13.3利用Canvas组件创建绘制椭圆的程序,尝试修改椭圆边框样式、边框颜色以及填充颜色
- (x0,y0)是左上角的坐标
- (x1,y1)是右下角的坐标
4. 参考例13.4利用Canvas组件创建绘制圆弧的程序,尝试修改圆弧样式、边框颜色以及填充颜色
- (x0,y0)是左上角的坐标
- (x1,y1)是右下角的坐标
- 选项start(开始角度,默认为0)和extend(圆弧角度,从start开始逆时针旋转,默认为90度)决定圆弧的角度范围
- 选项start用于设置圆弧的样式
5. 参考例13.5利用Canvas组件创建绘制线条的程序,尝试修改线条样式和颜色
- (x0,y0),(x1,y1),…,(xn,yn)是线条上各个点的坐标
6. 参考例13.6利用Canvas组件创建绘制多边形的程序,尝试修改多边形的形状、线条样式和填充颜色
- (x0,y0),(x1,y1),…,(xn,yn)是多边形上各个顶点的坐标
7. 参考例13.7利用Canvas组件创建绘制字符串和图形的程序,绘制y = cos(x) 的图形
图形绘制模块:turtle
后面章节内容:未完待续…