Python 对象名称中的下划线

单下划线

那种仅限从一个对象内部访问的“私有”实例变量在 Python 中并不存在。 但是,大多数 Python 代码都遵循这样一个约定:带有一个下划线的名称 (例如 _spam) 应该被当作是 API 的非仅供部分。

Python中进制转换与位操作

Python中的进制表示

计算机中的数都是使用二进制表示的,Python中数字加前缀$0b$,表示是二进制,类似的八进制和十六进制的前缀分别为 $0o$ 和 $0x$。

Python实现二叉树重建

通常树有如下几种遍历方式:

  • 前序遍历:先访问根结点,再访问左子结点,最后访问右子结点。
  • 中序遍历:先访问左子结点,再访问根结点,最后访问右子结点。
  • 后序遍历:先访问左子结点,再访问右子结点,最后访问根结点。
  • 层序遍历:即广度优先遍历,先访问一级节点,后是二级节点…

Python实现二叉树及其遍历

树结构多种多样,不过最常用的还是二叉树。顾名思义,二叉树每个节点最多有两个叉,也就是两个子节点,分别是左子节点和右子节点。

Mac 终端 PS1 变量配置

默认的终端提示符像这样zhangsan@zhangsandeMacBook-Pro ~$,又长又俗,丑到爆,所以我们有必要配置一下终端的命令提示符,顿时就会感觉清爽了很多!

先来看一下效果图

Python散列表

散列表

散列表是一种数据的集合,其中的每个数据都通过某种特定的方式进行存储以方面日后的查找。基于它的搜索算法的时间复杂度为O(1)。散列表的每一个位置叫做,能够存放一个数据项,并以从0开始递增的整数命名。例如, 第一个槽记为0,下一个记为1,再下一个记为2,并以此类推。在初始条件下,散列表中是没有任何数据的,即每个槽都是空的。某个数据项与在散列表中存储它的槽之间的映射叫做散列函数。一般地,我们把槽被占据的比例叫做负载因子,两个甚至多个数据需要存储在同一个槽中,这种情况被称为冲突

Python搜索

搜索

在Python中,有一个非常简单的方法来判别特定项是否在列表中。我们使用in这个运算符。但为了说明这些搜索算法的工作原理以及它们相互比较时的优劣之分,我们还是自己实现这些算法。