如果想捕获特定的异常,可以这样:
如果想使用 try/catch/finally 结构捕获异常信息,可以这样:
值得注意的是,无论 finally 部分的代码是否触发,你都可以使用 finally 来关闭数据库/文件的连接。
Try/Except/Else
如果想为异常信息分配一个变量,可以这样:
如果想定义用于自定义的限制,可以通过 assert 关键字实现,如下所示:
值得注意的是,python 中的异常同样具有继承性。
此外,你也可以创建自己的异常类,如下所示:
22、多线程和 GILGIL 表示 Global Interpreter Lock。
GIL 确保线程可以在任何时间执行,并允许 CPU 选择要执行的所需线程。
GIL 能够传递当前正在执行的线程。
Python 支持多线程。
此外,GIL 会增加代码执行的计算开销。因此,运行多线程时需谨慎。
23、装饰器 Decorators装饰器可以为代码添加功能,其本质上是一种调用其他对象/函数的函数。 它是可调用函数,因此在调用装饰器函数时将返回随后需要调用的对象。
通过封装包/装一个类/函数,然后在调用函数时执行特定的代码。
此外,还可以通过实现通用逻辑来记录,进行安全检查等,然后使用 property 标记方法的属性。
24、Python 中的单元测试Python 中有许多单元测试和模拟库
下面以 unittest 为例
假定你的函数每次将输入值减少1,如下所示:
可以通过如下方式来进行单元测试:
同样地,也可以使用 doctest 来测试 docstrings 中所编写的代码。
25、一些与 Python 有关的热门话题 为什么要使用 Python编码简单,易于学习
面向对象编程语言
强大的分析功能和机器学习包
更快速地开发并将解决方案推向市场
提供内置的内存管理功能
提供巨大的社区支持和应用程序
无需编译,因为它本身是一种可解释的语言
动态输入,即无需声明变量
如何让 Python 运行得更快Python 是一种高级语言,不适合在系统程序或硬件层面访问。
Python 不适用于跨平台的应用程序。
Python 是一种动态类型的解释语言。与低级语言相比,它的优化和运行速度较慢。
实现基于 C 语言的扩展。
可以使用 Spark 或 Hadoop 创建多进程
可以利用 Cython,Numba 和 PyPy 来加速 Python 代码或用 C 语言编写它并在 Python 中公开。
Python 爱好者都是用哪些 IDEs?包括 Spyder,Pycharm 等。此外,还会使用各种的 notebooks,如 Jupyter。
Python 中热门的框架和包有哪些