摘要: python中数字名称 函数名称 容器名称(列表名称 字典名称 元组名称 集合名称) 字符串名称 对象名称 类名称 这些也都是变量? 在 Python 中,万物皆对象;对象可以绑定到名称上;变量指绑定到对象上的名称? 你怎么评价以上观点? 评价一句话:它把“变量”降格成了“贴标签”,却把“对象”抬高 阅读全文
posted @ 2025-11-11 12:46 wangya216 阅读(2) 评论(0) 推荐(0)
摘要: 描述符:从数据、非数据到内置装饰器 一、简介 简单来说,描述符就是 Python 里一种“懂规矩的工具类”——这里的“规矩”就是描述符协议,只要一个类实现了 __get__(取值)、__set__(赋值)、__delete__(删除)这三个特殊方法中的至少一个,它就成了描述符,能帮我们控制属性的访问 阅读全文
posted @ 2025-11-11 12:40 wangya216 阅读(3) 评论(0) 推荐(0)
摘要: import zipfile import re def count_and_extract_context(zip_path, target_word, context_len=100, output_file="context_results.txt"): total_count = 0 # 打 阅读全文
posted @ 2025-11-11 10:45 wangya216 阅读(2) 评论(0) 推荐(0)
摘要: Python与C语言术语及概念差异全景总结 基于“易混淆术语(同名不同义)、对应概念(功能相似名不同)、体系差异(机制完全不同)”的严格分类标准,结合实践中高频踩坑点,系统梳理两种语言的核心差异,全程以表格为核心呈现形式,确保逻辑清晰、对比直观。 一、易混淆术语:名称相同但含义完全不同 此类术语是C 阅读全文
posted @ 2025-11-10 00:01 wangya216 阅读(3) 评论(0) 推荐(0)
摘要: 基于实际字节码解析Python链式赋值:从ls1[i]=2到a=b=c=10的完整机制 针对你提出的“无固定‘左右顺序’?”的疑问,结合你提供的真实字节码(dis模块输出),我们可以明确:Python链式赋值不存在绝对统一的“左→右”或“右→左”顺序,而是遵循“先解析最右侧表达式,再按赋值目标的语法 阅读全文
posted @ 2025-11-09 22:34 wangya216 阅读(2) 评论(0) 推荐(0)
摘要: Python链式比较:从原理到避坑,一文吃透优雅又易踩坑的特性 在Python中,“链式比较”是一项极具“数学直觉”的原生特性——它让1 ≤ score ≤ 90这样的表达式直接在代码中生效,无需拆成1 ≤ score and score ≤ 90。但这份优雅背后藏着容易忽略的规则:当表达式涉及in 阅读全文
posted @ 2025-11-09 22:12 wangya216 阅读(9) 评论(0) 推荐(0)
摘要: Python中i = s[i] = 3的底层执行机制:从字节码看链式赋值的栈操作逻辑 在Python中,i = s[i] = 3这种“链式赋值”语句看似简单,实则包含了精密的栈操作、值传递与对象修改逻辑。通过dis模块反编译的字节码,我们能清晰看到解释器如何一步步拆解这条语句——从常量加载到栈复制, 阅读全文
posted @ 2025-11-09 22:10 wangya216 阅读(6) 评论(0) 推荐(0)
摘要: Python中a = b = 10的底层机制:从名字绑定到引用计数的完整拆解 在Python中,a = b = 10这种“链式赋值”看似是简单的语法糖,但其底层执行逻辑与C语言的同名语法存在本质差异——它不是“先把10赋给b,再把b的值赋给a”的“值传递”,而是“先解析右侧对象,再依次将多个名字绑定 阅读全文
posted @ 2025-11-09 21:31 wangya216 阅读(3) 评论(0) 推荐(0)
摘要: Python中“赋值”说法是否规范?与C语言赋值的界限必须划清 在Python语境中,“赋值”是行业内约定俗成的常用说法(如官方文档、教材、社区讨论中频繁出现),但其语义边界必须与C语言的“赋值”严格区分——若直接将Python的=操作等同于C语言的赋值,会陷入“变量存储值”“赋值有返回值”等认知误 阅读全文
posted @ 2025-11-09 21:22 wangya216 阅读(6) 评论(0) 推荐(0)
摘要: 详解=的语句属性与无返回值特性 在Python学习中,“赋值”是描述a = 10这类语句的常用说法,但结合之前讨论的“名字-对象绑定模型”“对象三属性(标识、类型、值)”,很多开发者会疑惑:“赋值”这个说法是否准确规范?为何=构成的是“语句”而非“表达式”,且没有返回值?本文将从术语规范性、语法本质 阅读全文
posted @ 2025-11-09 21:22 wangya216 阅读(4) 评论(0) 推荐(0)
摘要: Python不可变与可变对象:本质差异解析(文章大纲) 一、开篇:直击核心困惑——“不可变/可变”到底指什么? 引出用户高频混淆点: 误以为“不可变”指名字不能改(实际名字可随时绑定新对象); 误以为“不可变”指对象内存地址会变(实际对象标识一旦创建永不改变); 混淆“对象的标识、类型、值”与“可变 阅读全文
posted @ 2025-11-09 21:11 wangya216 阅读(16) 评论(0) 推荐(0)
摘要: 从CPython底层解析:为何a=10 b=10复用对象,a=[] b=[]新建对象? 疑问本质是:CPython对“不可变对象(如int)”和“可变对象(如list)”采用了完全不同的“对象创建/复用策略”——前者通过“预缓存池”复用已有对象,后者强制新建独立对象。这种差异的根源并非“CPytho 阅读全文
posted @ 2025-11-09 20:41 wangya216 阅读(5) 评论(0) 推荐(0)
摘要: 以下是从CPython底层机制出发的纯学术性解析,聚焦a=None与a=[]的本质差异、None的单例内核,以及与其他语言null的底层区别,结合CPython源码结构与对象模型展开: 从CPython底层机制解析a=None与a=[]的本质差异 ——聚焦None的单例性与空对象模型 在CPytho 阅读全文
posted @ 2025-11-09 20:35 wangya216 阅读(3) 评论(0) 推荐(0)
摘要: 以下是针对a = 10语句设计的6种常见读法,结合Python名字-对象绑定模型(呼应前文《西游记》“符咒-山”比喻),通过列表对比各读法的优劣,最终明确适配Python认知的最优选择: Python中a = 10的6种读法对比:哪种最贴合名字-对象模型? 在Python教学中,a = 10是最基础 阅读全文
posted @ 2025-11-09 20:28 wangya216 阅读(4) 评论(0) 推荐(0)
摘要: 用《西游记》讲透Python name模型:撕最后一张符咒,山为何会消失? 看过《西游记》的人都记得一个经典场景:孙悟空大闹天宫后,被如来佛祖压在五行山下,山顶还贴了一张写着“唵嘛呢叭咪吽”的符咒——这张符咒如同“封印”,让五行山稳稳锁住大圣。可若我们开个脑洞:要是如来贴了不止一张符咒,只有撕掉最后 阅读全文
posted @ 2025-11-09 20:18 wangya216 阅读(3) 评论(0) 推荐(0)
摘要: Python 循环引用怎么破?用 weakref 轻松解决 GC 回收难题 如果你开发过链表、树、图等数据结构,大概率会遇到一个棘手问题:明明用del删除了所有对象的引用,内存却依然居高不下 —— 这就是 “循环引用” 导致的 GC(垃圾回收)回收失败。今天我们就从一个真实的链表内存泄漏案例入手,拆 阅读全文
posted @ 2025-11-09 20:02 wangya216 阅读(5) 评论(0) 推荐(0)
摘要: Python实践指南:del与__del__的正确用法,避坑指南 del与与和__del__是最容易被误用的特性之一——有人把del当成“删除对象的命令”,有人把__del__当成“内存释放的工具”,结果写出漏洞百出的代码:文件关不掉、数据库连接泄漏、GC异常崩溃……今天这篇指南,我们不谈复杂的底层 阅读全文
posted @ 2025-11-09 19:51 wangya216 阅读(6) 评论(0) 推荐(0)
摘要: 为帮困惑“del是否释放内存”“__del__为何不调用”的开发者厘清认知,我将以开篇三问引发思考,深入解析del与__del__的核心机制,结合代码示例与内存图解验证反常识结论,最后用对比表澄清两大高频误区。 Python 中 del obj 到底做了什么?别再误以为会触发__del__​ 如果你 阅读全文
posted @ 2025-11-09 19:40 wangya216 阅读(7) 评论(0) 推荐(0)
摘要: 如果你刚接触 Python,可能常听到 “a的值是 10”“s的值是字符串” 这样的表述。但在 Python 的内存模型里,这种说法其实不够准确,甚至可能让你在后续学习函数传参、del等机制时陷入困惑。今天我们就从a = 10这个最简单的代码入手,拆解 “值”“字面量”“不可变对象” 的关系,彻底解 阅读全文
posted @ 2025-11-09 19:34 wangya216 阅读(3) 评论(0) 推荐(0)
摘要: 常量的二元图景:C 语言的刚性契约与 Python 的柔性表达 引言:被混淆的 “不变性”—— 从字面量与常量的认知错位说起 在程序设计基础教学里,“常量” 是最容易被 “简化到失真” 的概念。为了让初学者快速上手,很多教材用一句 “写在代码里且不改的就是常量” 打补丁,却把 “字面量” 与 “常量 阅读全文
posted @ 2025-11-09 17:21 wangya216 阅读(3) 评论(0) 推荐(0)
摘要: 在 Python 里,字面量(literal)就是“写在源码里、解释器一看就能直接算出值”的常量写法,不需要再经过变量查找或函数调用。 常见几类: 类型 字面量示例 说明 数字 42 -3.14 0xFF 1_000_000 3+4j 整型、浮点、十六进制、二进制、复数 字符串 "hello" 'p 阅读全文
posted @ 2025-11-09 15:50 wangya216 阅读(2) 评论(0) 推荐(0)
摘要: Python哈希机制深度解析:从底层原理到工程实践 摘要:本文系统剖析Python哈希机制的实现原理、冲突解决策略及数据类型适配规则,通过理论溯源、源码分析与多维度实验验证,揭示其在字典、集合等核心数据结构中的底层运作逻辑。研究基于CPython 3.11源码,对比不同哈希函数特性,量化分析哈希表内 阅读全文
posted @ 2025-11-07 12:46 wangya216 阅读(5) 评论(0) 推荐(0)
摘要: Python对象模型的认知陷阱:类的__name__属性与名字绑定的本质辨析 摘要:本文通过一个典型的元类使用错误,深入剖析Python对象模型中“类的名称属性”与“名字绑定”这两个常被混淆的核心概念。许多开发者在动态创建类时,误以为__name__参数会自动创建全局名字,从而导致NameError 阅读全文
posted @ 2025-11-07 12:11 wangya216 阅读(5) 评论(0) 推荐(0)
摘要: 用“钥匙与房子”讲透Python中的跨引用、跨引用修改与数据独立性 在Python里,引用和对象的关系总让人困惑,其实用“钥匙与房子”的比喻就能轻松理清——对象是“房子”,引用是打开房子的“钥匙”。而跨引用、跨引用修改、数据独立性,都和“钥匙怎么分配”“房子能不能改”息息相关。下面结合可变/不可变对 阅读全文
posted @ 2025-11-07 10:02 wangya216 阅读(3) 评论(0) 推荐(0)
摘要: Python中的四大核心容器——列表(list)、元组(tuple)、字典(dict)、集合(set),是数据存储与处理的基石。它们各自具备独特的特性(有序/无序、可变/不可变、是否允许重复元素),对应的操作逻辑也存在显著差异。本文将从"增删改查"核心操作入手,延伸至排序、去重、嵌套处理等常用场景, 阅读全文
posted @ 2025-11-07 08:49 wangya216 阅读(92) 评论(0) 推荐(0)