有趣的人才能造出好东西

Vibe coding 仙人,什么好玩研究什么,不限于 Python、AI、美食、美景、美人....

  • 130篇文章
  • 5个分类
  • 2019开始写作
江川
江川的黏土风卡通形象:盘腿而坐,短发、黑框眼镜、黑 T 恤

最新文章

全部归档 →
随笔

65. 反汇编 Python 程序

到目前为止,我们已经生成了 CodeObject 对象,Python 内置了 dis 模块可以获得可阅读的汇编代码。52 节已经对 dis 模块的使用做了演示: 上面的代码保存在 test.py, 用 python3 运 …

阅读全文
随笔

64. 构建 CodeObject

终于,解决了变量的作用域问题,AST 中的信息也被整理妥当,下面让我们进入正题,生成 CodeObject。 再看 CodeObject 的结构 构建 CodeObject 的过程,实际上对应着低级语言(如 C、C++) …

阅读全文
随笔

63. Python 是如何实现作用域的 (3)

注:之前打算直接研究 Python 的命名空间实现,但后来发现目前局限在具体命名空间内的作用域问题更合适,对研究主题稍作调整。 Python 首先将 Python 源码转换为 AST,然后在 run mod PyAST …

阅读全文
随笔

61. Python 是如何实现作用域的 (1)

前面说到 CodeObject 的结构,其中忽略了一个重要的问题:CodeObject 中记录了 names、contants 之类的信息。根据我们使用 Python 的经验来说,不可能整个 Python 程序的所有名称 …

阅读全文
随笔

60. 为什么 CodeObject 是这样的?

前面已经对 AST 的构建、查看、修改比较理解了,AST 可以认为是 Python 源码的另一种表示,它们具备一对一的对照关系,甚至只要提供 AST,我们可以通过 astunparse 之类的库直接从 AST 完美的还原 …

阅读全文
随笔

59. Hack 抽象语法树

Python 已经内置了针对 AST 的工具集:ast,可以在 Python 中完成与底层同样效果的工作。我们不仅可以通过 ast 库将任意代码编译为 AST 结构,而且对应的 AST 对象也可以被内置的 compile …

阅读全文
随笔

58. 在 Python 中生成 AST

在 Python 的底层实现中已经包含了源码到 AST 到 CodeObject 的转换过程,实际上 Python 也提供了一组工具,帮助我们直接控制 AST,如果熟练掌握的话,可以实现一些很有意思的魔法。 从源码到 …

阅读全文
随笔

57. 从源码到 AST

现在我们至少有这样的认识,ByteCode 是 VM 唯一直接支持的运算表示,Python 源码的复杂逻辑,最终需要转换为 Bytecode。而 Bytecode 又是如此简单,从 Python 源码到 Bytecode …

阅读全文

所有分类

热门文章

  1. 1
    CUDA 之后,NVIDIA 还有什么?

    市场长期将 CUDA 软件生态视为 NVIDIA 最深的护城河,但随着 Triton 等高级抽象编译框架的普及,底层硬件软件栈正在被“屏蔽”。竞争对手通过单卡算 …

  2. 2
    HBM3到4,发生了什么?

    1. DRAM与内存墙 2017 年,NVIDIA V100 搭载 HBM2 显存,带宽 0.9TB/s,峰值算力 125 TFLOPS。2023 年,H100 …

  3. 3
    如何实现可动态扩展的共享内存池

    开发者通常为了提高内存使用效率,或者避免内存泄漏,需要将内存池化管理。稍复杂一点的系统,一般都会有自己的内存管理机制,我在研读源码的时候,比较习惯先看内存管理模 …

  4. 4
    KNN分类算法经典案例——鸢尾花

    推荐书籍 这是我从大量算法书籍中精心筛选出来的,它 重视算法原理的理解, 用生动的例子替代晦涩的公式证明, 绘图也非常有趣, ​对非专业开发者十分友好​。 我的 …

  5. 5
    封神——傅立叶变换

    封神?一点都不夸张! 如果对所有算法排位,傅立叶变换绝对可以封神。傅立叶变换有多牛?!相当于给人类安了第三只眼!基本上不是人类能搞出来的东西。凡人,准备 …