Python学习笔记(三十五)- 异常设计(Designing with Exceptions)

1.(这个问题是第1章第一次测验的重复内容 —— 看,我告诉你这很容易!:-)为什么“spam”出现在书籍和网络上的这么多Python例子中?【困扰我很久的问题终于得到了解答】
答:因为Python是以英国喜剧组织Monty Python的名字命名的(基于我在课堂上进行的调查,这在Python世界中是一个非常保密的秘密!)。 spam的引用来自Monty Python短剧,设置在一个自助餐厅,其菜单所有选项似乎都与Spam一起提供。 一对试图在那里点食物的夫妇不断被一群维京人唱着一首关于SPAM的歌淹没。 不,真的。如果我能在这里插入那首歌的音频剪辑,我会…

 

本章就一个问题,好像太少了,那就在水一些吧:

异常使用的建议:

1.通常失败的操作通常应包含在try语句中。 例如,与系统状态(文件打开,socket调用等)接口的操作是尝试的主要候选者。

2.但是,先前的规则有一些例外 - 在一个简单的脚本中,您可能希望此类操作失败以杀死您的程序而不是被捕获和忽略。 如果失败是一个显示障碍,则尤其如此。 Python中的失败通常会导致有用的错误消息(而不是硬崩溃),这是一些程序可能希望的最佳结果。

3.除非上下文管理器可用的 with/as 选项,否则应在 try/finish 语句中实现终止操作,以保证它们的执行。try / finally语句格式允许您在任意方案中运行代码,无论是否发生异常

4.在单个try语句中将调用包装到一个大函数有时更方便,而不是用许多try语句乱丢函数本身。 这样,函数中的所有异常都会围绕调用进行尝试,并减少函数中的代码量。

 

异常注意事项:

1.捕获太多:避免空的except和异常

def func():
    try:
         ... # IndexError在这被抛出
     except:
         ... # 但是所有的之后事情发生在这,然后没了
try:
     func()
except IndexError: # Exception 应该在这里被处理
     ...
import sys
def bye():
     sys.exit(40) # 关键错误:立即中止!
try:
    bye()
except:
    print('got it') # 哦不-我们忽略了退出
print('continuing...')

% python exiter.py
got it
continuing...

 

2.捕获太少:请使用基于类的类别(Use Class-Based Categories)

try:
 ...
except SuccessCategoryName: # 没问题,如果稍后添加MyExcept3子类
 ... # 没有错误
else:
 ... # 假设是一个错误

 

Python的工具集(Toolset)

1.内置类型:字符串,列表和字典等内置类型可以让您快速编写简单的程序。
2.Python扩展:对于要求更高的任务,您可以通过编写自己的函数,模块和类来扩展Python。
3.编译扩展:虽然我们在本书中没有涉及这个主题,但Python也可以使用外部语言(如C或C ++)编写的模块进行扩展。

 

大型项目的开发工具

1.PyDoc and docstrings 文档相关

2.PyChecker and PyLint 检查错误

3.PyUnit 单元测试

4.doctest 回归测试的一种更简单的方法

5.IDEs 为编辑、运行、调试和浏览Python程序提供图形环境。

6.Profile 性能优化、测试

7.Debuggers 调试器: pdb等

8.Shipping options: py2exe, PyInstaller等

9.Optimization options : PyPy 

 

注:转载《Learning Python 5th Edition》[奥莱理]
1. (This question is a repeat from the first quiz in Chapter 1—see, I told you it would be easy! :-) Why does “spam” show up in so many Python examples in books and on the Web?
1. Because Python is named after the British comedy group Monty Python (based on surveys I've conducted in classes, this is a much-too-well-kept secret in the Python world!). The spam reference comes from a Monty Python skit, set in a cafeteria whose menu items all seem to come with Spam. A couple trying to order food there keeps getting drowned out by a chorus of Vikings singing a song about Spam. No, really. And if I could insert an audio clip of that song here, I would...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值