随笔分类 -  Python

摘要:正则其实很简单,本文以 Python 语言为基础,全面介绍了 Python 中正则的使用及各种坑。 阅读全文
posted @ 2019-08-16 12:03 丹枫无迹 阅读(2047) 评论(1) 推荐(3) 编辑
摘要:洗牌算法是一个简单而实用的算法,Python 标准库中已有实现。另外分析了标准库中随机取样算法的实现。 阅读全文
posted @ 2019-06-18 10:35 丹枫无迹 阅读(4072) 评论(0) 推荐(1) 编辑
摘要:plt1, = plt.plot(x, y) 变量后面加逗号?书上莫不是写错了吧! 阅读全文
posted @ 2019-05-15 11:06 丹枫无迹 阅读(2493) 评论(0) 推荐(0) 编辑
摘要:Python 支持多态吗?鸭子类型又是啥? 阅读全文
posted @ 2019-05-05 09:50 丹枫无迹 阅读(524) 评论(0) 推荐(0) 编辑
摘要:你知道怎么把对象当方法用吗? 阅读全文
posted @ 2019-04-26 14:41 丹枫无迹 阅读(2231) 评论(0) 推荐(0) 编辑
摘要:虽然设计模式与语言无关,但这并不意味着每一个模式都能在每一门语言中使用。23 个模式,有 16 个在动态语言中“不见了,或者简化了”。策略模式就是被简化了的设计模式之一。 阅读全文
posted @ 2019-04-18 09:58 丹枫无迹 阅读(1953) 评论(1) 推荐(1) 编辑
摘要:其他语言中,if 后都是跟条件表达式,为什么 Python 中可以跟任意对象?交换变量 b, a = a, b 为什么可以这么写? 阅读全文
posted @ 2019-04-15 11:39 丹枫无迹 阅读(1877) 评论(0) 推荐(2) 编辑
摘要:引言 logging 的基本用法网上很多,这里就不介绍了。在引入正文之前,先来看一个需求: 假设需要将某功能封装成类库供他人使用,如何处理类库中的日志? 数年前在一个 C# 开发的项目中,我用了这样的方法:定义一个 logging 基类,所有需要用到日志的类都继承这个基类,这个基类中定义一个 Log 阅读全文
posted @ 2019-01-17 08:12 丹枫无迹 阅读(1367) 评论(1) 推荐(1) 编辑
摘要:GitHub 上有一个名为《What the f ck Python!》的项目,这个有趣的项目意在收集 Python 中那些难以理解和反人类直觉的例子以及鲜为人知的功能特性,并尝试讨论这些现象背后真正的原理! 原版地址: "https://github.com/satwikkansal/wtfpyt 阅读全文
posted @ 2018-12-11 11:23 丹枫无迹 阅读(1018) 评论(0) 推荐(1) 编辑
摘要:GitHub 上有一个名为《What the f*ck Python!》的项目,这个有趣的项目意在收集 Python 中那些难以理解和反人类直觉的例子以及鲜为人知的功能特性, 并尝试讨论这些现象背后真正的原理! 阅读全文
posted @ 2018-12-08 01:23 丹枫无迹 阅读(1295) 评论(0) 推荐(1) 编辑
摘要:关于 logging.NullHandler,网上大多数的解释就一句话:该 Handler 实例会忽略 error messages,通常被想使用 logging 的 library 开发者使用来避免'No handlers could be found for logger XXX'信息的出现。其实就是用了 logging 的工厂特性,在 library 中定义一个logger 但并不给具体的 Handler,具体的实现留给调用者决定。 阅读全文
posted @ 2018-11-29 11:09 丹枫无迹 阅读(2753) 评论(1) 推荐(2) 编辑
摘要:S.strip(chars=None) strip 函数用于去除字符串首尾的空格,当 chars 不为 None 时,则删除字符串首尾的 chars 中的字符。 当 chars=None 时,去除首尾空格,没啥好说的,我们来看 chars 不为 None 时的情况。 str = 'abc123abc 阅读全文
posted @ 2018-11-14 14:52 丹枫无迹 阅读(1404) 评论(2) 推荐(1) 编辑
摘要:返回当前工作目录 os.getcwd() 返回 path 的绝对路径 os.path.abspath(path) os.path.abspath('.') 相当于 os.getcwd() 分割目录和文件名 返回一个 tuple(目录, 文件名),以最后一个斜杠作为分割 os.path.split(p 阅读全文
posted @ 2018-11-12 17:40 丹枫无迹 阅读(1267) 评论(0) 推荐(0) 编辑
摘要:tesserocr 是 python 的一个 OCR 库,windows 下安装 tesserocr 直接用 pip 安装是不可以的,会报错,只能用 .whl 的方式安装。安装 .whl 时,可能遇到 failed to create process 报错,pip 版本等级过低,中文路径无法识别等问题,给出了解决方案。 阅读全文
posted @ 2018-11-02 09:25 丹枫无迹 阅读(5057) 评论(0) 推荐(0) 编辑
摘要:散列表 Python 用散列表来实现 dict。散列表其实是一个稀疏数组(总是有空白元素的数组称为稀疏数组)。在一般书中,散列表里的单元通常叫做表元(bucket)。在 dict 的散列表当中,每个键值对都占用一个表元,每个表元都有两个部分,一个是对键的引用,一个是对值的引用。因为每个表元的大小一致 阅读全文
posted @ 2018-10-09 10:36 丹枫无迹 阅读(2666) 评论(2) 推荐(1) 编辑
摘要:增量赋值运算符有 += 和 *=。+= 背后的特殊方法是 __iadd__,如果一个类没有实现 __iadd__ 方法,Python 会退一步调用 __add__ 方法。这两个方法的区别在于,__iadd__ 为就地改动,不会改变原值的内存地址,而 __add__ 方法会得到一个新对象。 阅读全文
posted @ 2018-10-05 11:32 丹枫无迹 阅读(1138) 评论(0) 推荐(0) 编辑
摘要:zip() 接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个 tuple,然后返回由这些 tuple 组成的 list。 若传入参数的长度不等,则返回 list 的长度和参数中长度最短的对象相同。 利用 * 号操作符,可以将 list 解压。 Python3.0开始,zip()函数已经 阅读全文
posted @ 2018-06-15 10:26 丹枫无迹 阅读(1729) 评论(0) 推荐(0) 编辑