摘要:
Python列表初始化的"陷阱":重复引用的坑 # 当时的"聪明"代码 matrix = [[0] * 3] * 3 # 创建3x3矩阵,看起来很优雅对吧? # 修改第一个元素 matrix[0][0] = 1 print(matrix) # [[1, 0, 0], [1, 0, 0], [1, 0 阅读全文
posted @ 2025-10-06 17:16
wangya216
阅读(3)
评论(0)
推荐(0)
摘要:
Python编译期优化:隐藏在代码背后的效率魔法 Python常被认为是解释型语言,但实际上它采用了"编译→解释"的混合执行模式。在将源代码转换为字节码的编译阶段,Python解释器会进行一系列优化,显著提升程序运行效率。今天我们就来系统学习这些编译期优化技术。 一、Python的编译过程概述 在深 阅读全文
posted @ 2025-10-06 16:25
wangya216
阅读(3)
评论(0)
推荐(0)
摘要:
Python函数默认参数陷阱:可变对象的"共享"问题深度解析 在Python中,函数默认参数的处理方式有一个容易被忽略的特性,尤其是当默认参数是可变对象时,很容易引发意想不到的问题。今天我们通过多个实例,彻底搞懂这个知识点。 一、核心问题:可变对象作为默认参数的意外行为 先看最经典的列表示例,这是理 阅读全文
posted @ 2025-10-06 16:18
wangya216
阅读(1)
评论(0)
推荐(0)
摘要:
Python中的对象池与驻留机制:小整数、字符串与大整数 Python为优化内存使用和执行效率,设计了多种对象复用机制,其中最典型的是小整数对象池、字符串驻留(intern)机制和大整数对象池。以下是整理后的详细说明,包含规则、示例及修正补充: 一、小整数对象池 定义 Python对使用频率极高的小 阅读全文
posted @ 2025-10-06 12:31
wangya216
阅读(5)
评论(0)
推荐(0)
摘要:
在 Python 的 LEGB 作用域规则中,整数(或其他变量)所处的位置取决于它的定义位置,LEGB 代表四种作用域类型,优先级从高到低为: L(Local,局部作用域) 函数内部定义的变量(包括函数参数),仅在当前函数内可见。 例:def func(): x = 10 中,x 是局部整数。 E( 阅读全文
posted @ 2025-10-06 11:33
wangya216
阅读(2)
评论(0)
推荐(0)
摘要:
小整数对象池 整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间。 Python 对小整数的定义是 [-5, 256] 这些整数对象是提前建立好的,不会被垃圾回收。 在一个 Python 的程序中,无论这个整数处于LEGB中的哪个位置,所有位 阅读全文
posted @ 2025-10-06 11:16
wangya216
阅读(3)
评论(0)
推荐(0)