掌握Python异常处理
本文是“Python 工匠”系列连载的第 6 篇文章。 如果你用 Python 编程,那么你就无法避开异常,因为异常在这门语言里无处不在。打个比方,当你在脚本执行时按 ctrl+c 退出,解释器就会产生一个 KeyboardInterrup...
本文是“Python 工匠”系列连载的第 6 篇文章。 如果你用 Python 编程,那么你就无法避开异常,因为异常在这门语言里无处不在。打个比方,当你在脚本执行时按 ctrl+c 退出,解释器就会产生一个 KeyboardInterrup...
编程,其实和玩电子游戏有一些相似之处。你在玩不同游戏前,需要先学习每个游戏的不同规则,只有熟悉和灵活运用游戏规则,才更有可能在游戏中获胜。 而编程也是一样,不同编程语言同样有着不一样的“规则”。大到是否支持面向对象,小到是否可以定义常量,编...
为什么要用logging模块 在实际应用中,日志文件十分重要,通过日志文件,我们知道程序运行的细节;同时,当程序出问题时,我们也可以通过日志快速定位问题所在。在我们写程序时,也可以借助logging模块的输出信息来调试代码。但是很多人还是在...
模块(Module)是我们用来组织 Python 代码的基本单位。很多功能强大的复杂站点,都由成百上千个独立模块共同组成。 虽然模块有着不可替代的用处,但它有时也会给我们带来麻烦。比如,当你接手一个新项目后,刚展开项目目录。第一眼就看到了攀...
循环是一种常用的程序控制结构。我们常说,机器相比人类的最大优点之一,就是机器可以不眠不休的重复做某件事情,但人却不行。而**“循环”**,则是实现让机器不断重复工作的关键概念。 在循环语法方面,Python 表现的即传统又不传统。它虽然抛弃...
试想一下,你在夜深人静的时候,准备睡前查看一下订阅的邮件周报,而且还是一个精心设计过的HTML富文本邮件。只不过它只能在pc上完美展现,在手机上最大的字号只有不到4像素,图片也变成了马赛克,会是一种怎样的虐心体验。 最近做了一个群发邮件的手...
1. 前言 本文主要对 Linux 系统内核协议栈中网络层接收,发送以及转发数据包的流程进行简要介绍,同时对 Netfilter 数据包过滤框架的基本原理以及使用方式进行简单阐述。 内容如有理解错误而导致说明错误的地方,还请指正。如存在引用...
最爱折腾的就是前端工程师了,从jQuery折腾到AngularJs,再折腾到Vue、React。 最爱跨屏的也是前端工程师,从phonegap,折腾到React Native,这不又折腾到了Flutter。 图啥? 低成本地为用户带来更优秀...
导语:本文从市面主流的浏览器及相应的内核引擎开始,介绍了Chromium为代表的浏览器架构及Blink内核的功能架构。Chromium为多进程架构,用户从启动运行浏览器后,先后经过页面导航、渲染、资源加载、样式计算、布局、绘制、合成到栅格化...
本文以一个具体例子结合动图介绍了Git的内部原理,包括Git是什么储存我们的代码和变更历史的、更改一个文件时,Git内部是怎么变化的、Git这样实现的有什么好处等等。 通过例子解释清楚上面这张动图,让大家了解Git的内部原理。如果你已经能够...