2017年12月16日
Python 通过调用 warnings 模块中定义的 warn() 函数来发出警告。警告消息通常用于提示用户一些错误或者过时的用法,当这些情况发生时我们不希望抛出异常或者直接退出程序。警告消息通常写入 sys.stderr,对警告的处理方式可以灵活的更改,例如忽略或者转变为为异常。警告的处理可以根据警告类别,警告消息的文本和发出警告消息的源位置而变化。对相同源位置的特定警告的重复通常被抑制。
警告控制分为两个阶段:首先,警告被触发时,确定是否应该发出消息;接下来,如果要发出消息,则使用用户可设置的钩子来格式化和打印消息。
警告过滤器可以用来控制是否发出警告消息,警告过滤器是一些匹配...
阅读更多
2017年11月22日
ipython 是一个 python 的交互式 shell,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数,比默认的 python shell 好用得多。IPython 已经成为用 Python 做教学、计算、科研的一个重要工具
2001 年, Fernando Pérez 为了得到一个更为高效的交互式 Python 解释器而启动了一个业余项目, 于是 IPython 项目诞生了。之后,它逐渐被公认为现代科学计算中最重要的 Python 工具之一。IPython 本身并没有提供任何的计算或数据分析功能, 其设计目的是在交互式计算和软件开发这两...
阅读更多
2017年08月06日
“Python 中的类都是单例模式?” 一天,一同事问我这样一个问题。这是一个奇怪的问题,可能你也这么认为。这里先不做解释,我们先来看看 __new__ 和 __init__ 方法。
new 与 init
__new__ 方法属于新式类,即属于 object 类。它是一个静态方法,但是其第一个参数必须是一个类(cls),这有点像一个 classmethod,其实将其看成是一个类方法也可以。该特殊方法被调用时,会创建类(cls)的一个新实例并返回,实例被创建后解释器会将该实例以及其它的参数传递给该实例的初始化函数 __init__,以对实例进行初始化。
所以,__new__ 方法是一...
阅读更多
2017年06月04日
Git 可以对某一时间点上的版本打上标签。在做版本发布的时候经常这么做。Git 使用的标签有两种类型: 轻量级的(lightweight) 和 含附注的(annotated)。
轻量级标签:就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。
含附注标签:实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。
总结的说就是轻量级标签是一个引用,附注标签是一个独立的对象。一般建议使用附注标签,以保留相关详细信息。
常用命令:
列出所有...
阅读更多
2017年05月30日
我在车站等了五个小时的车写下此文,原因是我买错了车票。其实算不上是买错了,只是车票上的车站不是我想要买的那个车站。车票是提前一个月定订的,如果我注意一下,就不至于会去错车站,以至于来不及到另一个车站去乘车。手机在路途中坏了,要不然以我如此谨慎的脾性,应该能发现问题。
你不得不承认,即使,再小心翼翼,也会犯错! 有时候,因为一些错误,我们浪费了宝贵的时间、精力和钱财。每次犯错,我都试图原谅自己,以让自己好受些,只是在心里告诉自己下次不要再犯。可是,即使你能避免不犯同样的错误,但也避免不了会犯其他的错误。
我竟然过了几天没有手机的日子。不做低头族,自己就好像是一个异类一样。在人群中,好像...
阅读更多
2017年05月21日
你觉得要发生的事,有时候是必然会发生的,可还是侥幸的希望一切都能好。曾经我总会对一个人说,不要选择逃避,勇敢一些,去面对。可是,同样的话,能安慰别人,却安慰不了自己。是的,有时候,我们都在逃避!
还是没有忍住,要去知道一些事的结果,只是已不明了心里是何种心态。不管怎样,眼角的泪水都没有藏住,没能阻止它流出来。
我开始读龙应台的“人生三书”。有一个人曾经总是跟我提起龙应台,提到她的教育理念,我还以为她是一个了不起的教育家。然而,她只是用生风的笔触记录了她的人生。从初为人母,怎样让孩子快乐的成长,怎样教孩子去认识这个世界乃至宇宙。一定要告诉你的孩子,慢慢来,一定要告诉他,灰姑娘的故事...
阅读更多
2017年05月14日
代码除了用来运行外,更多的是用来读。为了是代码的可读性更强,很多编程语言都有自己的编码规范。规范的制定是为了保持代码的一致性,以使代码更美观和易读。代码应该怎么样排版和编写并不是绝对的,所以一些地方会有争议。有时风格指南并不适用,最重要的知道何时不一致。当你无法判断该怎么做时,应该所参考下其他的例子。
本文仅是一个 Python 编码风格的参考,并不是一个规定,规定必须要这么去做。本文的目的应该是起一个指导作用,指导开发者去写更易读的代码。
一、代码编排
主要是缩进与空行的排版:
1、使用 4 个空格进行缩进(编辑器都可以完成此功能),不推荐使用制表符,更不能混合使用制表符和空...
阅读更多
2017年05月04日
Jupyter Notebook 是一个交互式笔记本程序, 其有丰富的快捷键来便捷的完成工作。Notebook 有两种键盘输入模式。即命令模式和编辑模式,这与 Vim 有些类似。在编辑模式下,可以往单元中键入代码或文本,此时单元格被绿色的框线包围,且命令模式下的快捷键不生效。在命令模式下,可以用快捷键命令运行单元格,移动单元格,切换单元格编辑状态等等,此时的单元格被灰色的框线包围,且编辑模式下的快捷键不生效。
从命令模式进入编辑模式需按 Enter 键,从编辑模式切换到命令模式需按 Esc 键。
以下两表分别是对命令和编辑两种模式下快捷键的简单说明:
命令模式快捷键(按 Esc 键...
阅读更多