学习 Python 这么久了,说起 Python 的优雅之处,能让我脱口而出的, Descriptor(描述符)特性可以排得上号。 描述符 是Python 语言独有的特性,它不仅在应用层使用,在语言语法糖的实现上也有使用到(在下面的...
Python 里的泛型函数怎么写?
泛型,如果你尝过java,应该对他不陌生吧。但你可能不知道在 Python 中(3.4+ ),也可以实现 简单的泛型函数。 在Python中只能实现基于单个(第一个)参数的数据类型来选择具体的实现方式,官方名称 是 single-...
提升Python性能的7个习惯
转载自:https://zhuanlan.zhihu.com/p/38160586 1. 使用局部变量 尽量使用局部变量代替全局变量:便于维护,提高性能并节省内存。 使用局部变量替换模块名字空间中的变量,例如 ls = os.linesep。一方面...
Python 中的 with 与 上下文管理器
with 这个关键字,对于每一学习Python的人,都不会陌生。 操作文本对象的时候,几乎所有的人都会让我们要用 with open ,这就是一个上下文管理的例子。你一定已经相当熟悉了,我就不再废话了。 with open('test...
学 Python 必须掌握的几个高阶函数
1. lambda 表达式 匿名函数(英语:anonymous function)是指一类无需定义标识符(函数名)的函数。通俗来说呢,就是它可以让我们的函数,可以不需要函数名。 正常情况下,我们定义一个函数,使用的是 def 关键...
搞懂字符编码的前世今生
初学计算机的人,肯定对众多字符编码感到头疼。为什么会那么多字符串编码? 这些内容是在去年整理的,现在重新整理下,发布在博客,搞懂字符串编码,这一篇文章足矣 1. 前言必知 初学计算机的人,肯定对众多字...
Python 里的正则表达式该怎么写?
1. 正则表达式先导 1.1 正则基础知识 ^`:匹配行首 `$`:匹配结尾 `*`:(**贪婪**)前面字符匹配任意多次 `+`:(**懒惰**)前面字符匹配1或者更多次 `?`:前面字符匹配0或1次,还作为懒惰限定符使用,...
Python 多继承与Mixin设计模式
类的单继承,是我们再熟悉不过的,写起来也毫不费力。而多继承呢,见得很多,写得很少。在很多的项目代码里,你还会见到一种很奇怪的类,他们有一个命名上的共同点,就是在类名的结尾,都喜欢用 Mixin。 1. 认识...
15个 Pythonic 的代码示例
Python由于语言的简洁性,让我们以人类思考的方式来写代码,新手更容易上手,老鸟更爱不释手。 要写出 Pythonic(优雅的、地道的、整洁的)代码,还要平时多观察那些大牛代码,Github 上有很多非常优秀的源代码...
理解 Python 元组存在的意义
Python中有一个基础的数据结构,叫做元组(tuple),但是一般挺少有人会去用它的,因为在开发过程中,列表(list)基本已经能够满足我们的需求。 即使是这样,你也千万不要就此认为元组是多余的。不然在面试中也...