背景

我们准备利用17天时间,将 “Python基础的刻意练习” 分为如下任务:

  • Task01:变量、运算符与数据类型(1day)
  • Task02:条件与循环(1day)
  • Task03:列表与元组(2day)
  • Task04:字符串与序列(1day)
  • Task05:函数与Lambda表达式(2day)
  • Task06:字典与集合(1day)
  • Task07:文件与文件系统(2day)
  • Task08:异常处理(1day)
  • Task09:else 与 with 语句(1day)
  • Task10:类与对象(2day)
  • Task11:魔法方法(2day)
  • Task12:模块(1day)

这是我的 09/12 次任务的打卡内容。欢迎大家加入社群一起学习打卡。

我学习 Python 的思路是,先去熟悉 Python 的整体语法框架与自己熟悉的编程语言进行知识点的连接,后面遇到问题再来慢慢补充,慢慢形成自己的知识结构。

关于 “基础算法刻意练习活动” 的复盘可以参见图文:对“基础算法(LeetCode)刻意练习活动”的复盘,后面我们还会组织一系列活动,欢迎大家参与,一起来刻意练习啊。


Python 基础语法

1. 丰富的 else 语句

while … else 语句

count = 0
while count < 5:print("%d is  less than 5" % count)count = count + 1
else:print("%d is not less than 5" % count)# 0 is  less than 5
# 1 is  less than 5
# 2 is  less than 5
# 3 is  less than 5
# 4 is  less than 5
# 5 is not less than 5

for … else 语句

for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

for num in range(10, 20):  # 迭代 10 到 20 之间的数字for i in range(2, num):  # 根据因子迭代if num % i == 0:  # 确定第一个因子j = num / i  # 计算第二个因子print('%d 等于 %d * %d' % (num, i, j))break  # 跳出当前循环else:  # 循环的 else 部分print(num, '是一个质数')# 10 等于 2 * 5
# 11 是一个质数
# 12 等于 2 * 6
# 13 是一个质数
# 14 等于 2 * 7
# 15 等于 3 * 5
# 16 等于 2 * 8
# 17 是一个质数
# 18 等于 2 * 9
# 19 是一个质数

try … except … else 语句

如果在 try 子句执行时没有发生异常,Python将执行 else 语句后的语句(如果有 else 的话),然后控制流通过整个 try 语句。

try:正常的操作......................
except:发生异常,执行这块代码......................
else:如果没有异常执行这块代码

使用 except 而不带任何异常类型,这不是一个很好的方式,我们不能通过该程序识别出具体的异常信息,因为它捕获所有的异常。

try:正常的操作......................
except(Exception1[, Exception2[,...ExceptionN]]]):发生以上多个异常中的一个,执行这块代码......................
else:如果没有异常执行这块代码

Sample:

try:fh = open("testfile", "w")fh.write("这是一个测试文件,用于测试异常!!")
except IOError:print("Error: 没有找到文件或读取文件失败")
else:print("内容写入文件成功")fh.close()# 内容写入文件成功

2. 简洁的 with 语句

一些对象定义了标准的清理行为,无论系统是否成功的使用了它,一旦不需要它了,那么这个标准的清理行为就会执行。

关键词 with 语句就可以保证诸如文件之类的对象在使用完之后一定会正确的执行它的清理方法。

try:f = open('myfile.txt', 'w')for line in f:print(line)
except OSError as error:print('出错啦!%s' % str(error))
finally:f.close()# 出错啦!not readable

这段代码执行完毕后,就算在处理过程中出问题了,文件 f 总是会关闭。

try:with open('myfile.txt', 'w') as f:for line in f:print(line)
except OSError as error:print('出错啦!%s' % str(error))# 出错啦!not readable

总结

好了,到此为止有关于 else语句的特殊用法,以及with语句 部分就介绍完了,大家要根据上面的例子多多体会,只有刻意练习才能掌握一门技术,没有捷径的,加油啊!See You!


参考文献

  • https://www.runoob.com/python3/python3-tutorial.html
  • https://www.bilibili.com/video/av4050443

相关图文

  • 资料分享:数学建模资料分享 – 图论部分
  • 资料分享:数学建模资料分享 – 神经网络部分
  • 如何利用 C# 实现 K 最邻近算法?
  • 如何利用 C# 实现 K-D Tree 结构?
  • 如何利用 C# + KDTree 实现 K 最邻近算法?
  • 如何利用 C# 对神经网络模型进行抽象?
  • 如何利用 C# 实现神经网络的感知器模型?
  • 如何利用 C# 实现 Delta 学习规则?
  • 如何利用 C# 实现 误差反向传播 学习规则?
  • 如何利用 C# 爬取带 Token 验证的网站数据?
  • 如何利用 C# 向 Access 数据库插入大量数据?
  • 如何利用 C# + Python 破解猫眼电影的反爬虫机制?

刻意练习:Python基础 -- Task09. else 与 with 语句相关推荐

  1. Python基础必掌握的return语句用法和实践详解

    return 语句是函数和方法的关键组成部分.可以使函数将 Python对象发送回调用者代码,这些对象被称为函数的返回值. 使用它们在程序中执行进一步的计算或者程序的执行. 整套学习自学教程中应用的数 ...

  2. Python基础知识3: if判断语句

    一.判断的定义 如果 条件满足,才能做某件事, 如果 条件不满足,就做另外一件事情,或者什么也不做 另外:判断语句 又被称为 "分支语句",正是因为有了判断,才让程序有了很多的分支 ...

  3. Python基础——流程控制之循环语句

    文章目录 一. 循环简介 1.1 循环的作用 1.2 循环的分类 二. while的语法 2.1 快速体验 三. while的应用 3.1 应用一:计算1-100累加和 3.2 应用二:计算1-100 ...

  4. 小学生都能学会的Python基础语法——代码规范判断语句循环语句

    前言: Python 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异,在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程. 一.代码的执行 ...

  5. Python基础(十)——import语句、赋值语句、增量赋值

    本文以Python3以上为学习基础. 目录 1.import:模块的引入 2.赋值语句 (1)简单赋值 (2)一一对应赋值:多个变量一起赋值 (3)几个值赋给一个 (4) 数值交换 (5)链式赋值 3 ...

  6. python基础(part1)--注释/变量/del语句

    鄙人学习笔记 开发工具:Spyder 文章目录 注释 单行注释 多行注释 变量 绘制内存图练习(变量名所对应的内容改变) 绘制内存图练习(俩对象相加,得到全新的对象) del语句 举个例子 注释 单行 ...

  7. Python基础必掌握的条件语句详解

    Python 中的条件语句根据特定布尔约束的计算结果为真或假,执行不同的计算或操作.条件语句由 Python 中的 IF 语句处理. 到目前为止演示的代码都是由顺序执行组成的.但是实际情况是通常程序需 ...

  8. python基础之变量以及if语句

    1.变量 1.1定义:变量是一种介质,是将一些值暂时存储在内存中,方便后续程序调用.可将其看作容器但其内部的东西是可变化的. 1.2 变量的命名规则: 1.变量的命名只能由数字,字母,下划线构成. 2 ...

  9. 03.【python基础二】if判断语句之if-else、elif、if嵌套

最新文章

  1. windbg 脚本命令实例
  2. 量子计算机怎么储存,单个比特可以存储更多的信息 量子计算机时代真的要来了?...
  3. 前谷歌工程团队负责人:如何打造一个完美的产品
  4. 新兴机器学习算法:从无监督降维到监督降维
  5. 写在中国雅虎关闭之后
  6. Java学习小程序(5)猜数字游戏
  7. 2020-08-14 光纤通信第三章知识点整理
  8. 【linux】使用swap文件恢复非正常关闭的文件
  9. Bootstrap 进度条堆叠
  10. MOQL—筛选器(Selector)(一)
  11. 快速对接第三方接口--短信接口
  12. PV、UV、IP分别是什么意思?
  13. MATLAB/Simulink仿真 并网型风光混储直流微电网 实现:功率分配、削峰填谷、平抑功率波
  14. leetcode每日一题27
  15. xmanager登陆linux黑屏,使用xmanager工具登陆linux服务器时黑屏问题
  16. 模拟抽奖过程的C语言程序设计,C++抽奖程序实现方法
  17. 【google】解决google浏览器不弹出账号密码保存框且无法保存登录信息问题
  18. php files 转数组,转 PHP文件上传$_FILES数组各键值含义说明
  19. 如何让手机扫二维码就能阅读PDF
  20. 浙江大华流媒体服务器型号,大华DAHUA网络视频存储服务器DH-EVS7024S-DY产品中心_DAV数字音视工程网...

热门文章

  1. tensorflow with求导_3.4tensorflow2.x自动求导原理函数详解
  2. leetcode--长按键入--python
  3. Java基础学习总结(3)——抽象类
  4. EOS与以太坊有哪些区别? 1
  5. x-http-wrapper: 如何解决每次发版时,修改http相关代码造成的错误!(Android、iOS、h5)...
  6. Oracle数据库文件坏块损坏的恢复方法
  7. 71 mac boook pro 无 gpu 下caffe 安装
  8. 【数据安全案例】交警计算机系统再遭***,交通违法记录随意删除
  9. 新一代宽带路由器—Vigor防火墙路由器
  10. Shell脚本十三问