摘要:
枚举类的使用 实际开发中,我们离不开定义常量,当我们需要定义常量时,其中一个办法是用大写变量通过整数来定义,例如月份: JAN = 1 FEB = 2 MAR = 3 ... NOV = 11 DEC = 12 当然这样做简单快捷,缺点是类型是 int ,并且仍然是变量。 那有没有什么好的方法呢? 阅读全文
摘要:
Python 中类也是对象 在了解元类之前,我们先进一步理解 Python 中的类,在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段。在 Python 中这一点也是一样的。 这点在学习类的章节也强调过了,下面可以通过例子回忆一下: class ObjectCreator(object) 阅读全文
摘要:
进程 Python 中的多线程其实并不是真正的多线程,如果想要充分地使用多核 CPU 的资源,在 Python 中大部分情况需要使用多进程。 Python 提供了非常好用的多进程包 multiprocessing,只需要定义一个函数,Python 会完成其他所有事情。 借助这个包,可以轻松完成从单进 阅读全文
摘要:
线程与进程 线程与进程是操作系统里面的术语,简单来讲,每一个应用程序都有一个自己的进程。 操作系统会为这些进程分配一些执行资源,例如内存空间等。 在进程中,又可以创建一些线程,他们共享这些内存空间,并由操作系统调用,以便并行计算。 我们都知道现代操作系统比如 Mac OS X,UNIX,Linux, 阅读全文
摘要:
Python 正则表达式 正则表达式是一个特殊的字符序列,用于判断一个字符串是否与我们所设定的字符序列是否匹配,也就是说检查一个字符串是否与某种模式匹配。 Python 自 1.5 版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。re 模块使 Python 语言拥有全部的正则表达式功 阅读全文
摘要:
Python 的 Magic Method 在 Python 中,所有以 "__" 双下划线包起来的方法,都统称为"魔术方法"。比如我们接触最多的 __init__ 。 魔术方法有什么作用呢? 使用这些魔术方法,我们可以构造出优美的代码,将复杂的逻辑封装成简单的方法。 那么一个类中有哪些魔术方法呢? 阅读全文
摘要:
time = 0 def insert_time(min): time = time + min return time print(insert_time(2)) print(insert_time(10)) 认真想一下,会不会有什么问题呢? 其实,这个在 Python 里面是会报错的。会报如下错 阅读全文
摘要:
装饰器函数一般做这三件事: 接收一个函数作为参数 嵌套一个包装函数, 包装函数会接收原函数的相同参数,并执行原函数,且还会执行附加功能 返回嵌套函数 可是,认真一看这代码,这装饰器的写法怎么比函数式编程还麻烦啊。而且看起来比较复杂,甚至有点多此一举的感觉。 那是因为我们还没有用到装饰器的 “语法糖” 阅读全文
摘要:
python 的虚拟环境可以为一个 python 项目提供独立的解释环境、依赖包等资源,既能够很好的隔离不同项目使用不同 python 版本带来的冲突,而且还能方便项目的发布。 virtualenv virtualenv可用于创建独立的 Python 环境,它会创建一个包含项目所必须要的执行文件。 阅读全文
摘要:
问题 Python 关键字 yield 的作用是什么?用来干什么的? 比如,我正在试图理解下面的代码: def node._get_child_candidates(self, distance, min_dist, max_dist): if self._leftchild and distanc 阅读全文