
Python
文章平均质量分 84
杭州的平湖秋月
这个作者很懒,什么都没留下…
展开
-
Python 的 metaclass
metaclass 的作用是:对新创建的类 new_class 实现一些定制 customization 功能。原创 2024-07-10 00:06:36 · 1419 阅读 · 0 评论 -
Python 的 yield 和 yield from,生成器以及 classic coroutine
yield 有 2 个作用,第一个是用于创建生成器 generator,第二个是创建 classic coroutine 。重点关注生成器即可。对于大多数的 Python 用户,都不需要使用 classic coroutine 。原创 2024-05-02 20:53:52 · 1590 阅读 · 3 评论 -
Python 中的浮点数比较,以及 decimal 模块
2 个结论:1. 在 Python 中比较浮点数的大小时,必须先用 round() 进行圆整,再比较大小。否则可能出错。2. 如果对精度要求很高,可以使用 decimal 模块。原创 2023-12-03 19:44:48 · 1414 阅读 · 1 评论 -
Python 的 super 函数, __mro__ 和多继承
先说结论 —— super 函数在继承中的作用:返回 MRO 中的下一个 class 。原创 2024-04-07 21:32:50 · 1154 阅读 · 0 评论 -
Python 和 Numpy 的阶乘函数,以及对数组求阶乘
最近用Python求阶乘,发现3点:Python 的阶乘函数在内置的数学库中,即 math.factorial()。只对标量scalar进行计算,即只能针对一个数进行计算。Numpy 没有自身的阶乘函数,它是直接调用Python的阶乘函数。即 numpy.math.factorial() 等于Python的 math.factorial()。如果要对数组计算阶乘,要用Scipy的 special.factorial() 函数。使用 Python 的数学库计算阶乘,如下图。要对数组计算阶乘时,原创 2021-09-14 12:06:18 · 8227 阅读 · 3 评论 -
Python 的嵌套函数,nonlocal,闭包 closure 和自由变量
先说结论嵌套函数和自由变量的 2 种常见使用场景如下:1. 使用自由变量来记录状态量,或是用来登记 registration 一些输入的对象。这种用法的好处是不需要用 class ,也不需要用全局变量(正如 Google Python Style Guide 的建议,不要用全局变量)。2. 当函数内有部分代码,被重复使用次数大于等于 2 次时,就可以把这部分代码写成一个内部函数,形成嵌套函数。然后调用该嵌套函数即可。并且结合使用自由变量,还可以避免过多的参数传递。原创 2024-01-28 15:59:43 · 982 阅读 · 0 评论 -
Python 中赋值操作符 = 的作用
先说结论,赋值操作符 = 实际上有 2 个作用:1. 绑定 binding。即将变量和内存中的数据进行绑定。2. 修改可变对象的元素。原创 2024-01-22 23:20:02 · 465 阅读 · 0 评论 -
cooperative multitasking 和 preemptive multitasking
Python 的并发编程中,主要使用 2 种多任务机制:cooperative multitasking 和 preemptive multitasking。协程并发用到 cooperative multitasking,而多线程和多进程则用到 preemptive multitasking。原创 2022-08-23 17:05:07 · 549 阅读 · 0 评论 -
Python 中的并发编程和异步编程
在程序中,如果有大量的 CPU bound 任务,或是有大量的 I/O bound 任务,则可以使用并发编程和异步编程,极大地提高代码的运行速度。原创 2022-08-22 18:15:10 · 1900 阅读 · 0 评论