摘要: Python中,ord() 和 decode() 有点儿像,区别是什么? 从“都是将某种形式转换为字符相关信息”的角度看,ord() 和 decode() 可能会让人觉得有点“像”,但本质上它们是完全不同的操作,核心区别在于处理的对象和转换的方向。我们可以从“字符身份链”开始理解: 字符身份链与字符 阅读全文
posted @ 2025-11-13 18:24 wangya216 阅读(10) 评论(0) 推荐(0)
摘要: re.X(全称 re.VERBOSE)是 Python 正则表达式中的一个修饰符,核心作用是增强正则表达式的可读性——允许在正则中添加注释、换行和空格,而这些注释和空白会被正则引擎忽略(不影响匹配逻辑)。 为什么需要 re.X? 当正则表达式比较复杂时(比如验证身份证号、URL、邮箱等),直接写在一 阅读全文
posted @ 2025-11-13 16:06 wangya216 阅读(37) 评论(0) 推荐(0)
摘要: Python 字符串之正则表达式完全指南(含丰富示例·完整版) 正则表达式(Regular Expression)是字符串处理的“瑞士军刀”,广泛应用于数据清洗、文本提取、格式验证等场景。Python 内置 re 模块提供了完整的正则表达式支持,本文将从基础到进阶,系统覆盖正则核心语法、re 模块用 阅读全文
posted @ 2025-11-13 12:48 wangya216 阅读(456) 评论(0) 推荐(0)
摘要: Python 字符串形式与嵌套规则:从 C 语言注释谜题到 Python 引号逻辑 要理解 Python 字符串的嵌套解析和“大嘴法”,我们可以从你提供的 C 语言代码谜题入手——这段代码的输出结果是 1,而非直观预期的 0。这个反常识的结果背后,正是词法分析中“大嘴法”(也叫“贪婪匹配”)的作用: 阅读全文
posted @ 2025-11-13 00:45 wangya216 阅读(30) 评论(0) 推荐(0)
摘要: Python 字符串格式化全解析:%、format() 与 f-string 的前世今生 字符串格式化是程序开发中不可或缺的基础能力,它负责将变量、表达式等动态内容嵌入固定文本模板中,生成人类可读的字符串。Python 提供了三种主流的格式化方式:传统的 % 占位符、功能丰富的 str.format 阅读全文
posted @ 2025-11-13 00:31 wangya216 阅读(407) 评论(0) 推荐(0)
摘要: Python 正则表达式操作速查表(全面版·v1.4 - 2025年11月12日修订) 📌 使用说明 时间复杂度:O(n) = 线性级(随字符串长度增长),O(n×k) = 取决于字符串长度与模式复杂度 🔴 正则匹配默认区分大小写,需通过 flags 显式指定忽略大小写 🔵 所有匹配操作返回 阅读全文
posted @ 2025-11-12 23:54 wangya216 阅读(96) 评论(0) 推荐(0)
摘要: Python字符串常用操作速查表(全面版·v1.0 - 2025年11月12日修订) 📌 使用说明 时间复杂度:O(1)=常数级(快),O(n)=线性级(随数据量增长),O(k)=取决于传入可迭代对象长度 🔴 字符串(str)为不可变类型,所有"修改"操作均返回新字符串,原字符串保持不变 🔵 阅读全文
posted @ 2025-11-12 21:59 wangya216 阅读(74) 评论(0) 推荐(0)
摘要: import os, pythoncom, win32com.client as win32 # 工具函数 def get_or_add_style(doc, name): try: return doc.Styles(name) except: return doc.Styles.Add(Name 阅读全文
posted @ 2025-11-12 18:46 wangya216 阅读(22) 评论(0) 推荐(0)
摘要: import os, pythoncom, win32com.client as win32 # 工具函数 def get_or_add_style(doc, name): try: return doc.Styles(name) except: return doc.Styles.Add(Name 阅读全文
posted @ 2025-11-12 18:18 wangya216 阅读(23) 评论(0) 推荐(0)
摘要: import os, pythoncom, win32com.client as win32 工具函数 def get_or_add_style(doc, name): try: return doc.Styles(name) except: return doc.Styles.Add(Name=n 阅读全文
posted @ 2025-11-12 17:22 wangya216 阅读(27) 评论(0) 推荐(0)
摘要: import os, pythoncom, win32com.client as win32 # 工具函数 def get_or_add_style(doc, name): try: return doc.Styles(name) except: return doc.Styles.Add(Name 阅读全文
posted @ 2025-11-12 13:26 wangya216 阅读(14) 评论(0) 推荐(0)
摘要: 1. 核心主题:Python 变量模型与 C 语言变量模型核心差异 Python 采用“对象绑定模型”,C 语言采用“内存存储模型” 核心逻辑差异:Python 中变量是对象的“引用标识符”,不直接存储数据;C 语言中变量是“内存地址的别名”,直接对应一块固定大小的内存空间 2. 赋值的底层逻辑 2 阅读全文
posted @ 2025-11-12 11:43 wangya216 阅读(10) 评论(0) 推荐(0)
摘要: python中数字名称 函数名称 容器名称(列表名称 字典名称 元组名称 集合名称) 字符串名称 对象名称 类名称 这些也都是变量? 在 Python 中,万物皆对象;对象可以绑定到名称上;变量指绑定到对象上的名称? 你怎么评价以上观点? 评价一句话:它把“变量”降格成了“贴标签”,却把“对象”抬高 阅读全文
posted @ 2025-11-11 12:46 wangya216 阅读(6) 评论(0) 推荐(0)
摘要: 描述符:从数据、非数据到内置装饰器 一、简介 简单来说,描述符就是 Python 里一种“懂规矩的工具类”——这里的“规矩”就是描述符协议,只要一个类实现了 __get__(取值)、__set__(赋值)、__delete__(删除)这三个特殊方法中的至少一个,它就成了描述符,能帮我们控制属性的访问 阅读全文
posted @ 2025-11-11 12:40 wangya216 阅读(33) 评论(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:46 wangya216 阅读(15) 评论(0) 推荐(0)
摘要: Python与C语言术语及概念差异全景总结 基于“易混淆术语(同名不同义)、对应概念(功能相似名不同)、体系差异(机制完全不同)”的严格分类标准,结合实践中高频踩坑点,系统梳理两种语言的核心差异,全程以表格为核心呈现形式,确保逻辑清晰、对比直观。 一、易混淆术语:名称相同但含义完全不同 此类术语是C 阅读全文
posted @ 2025-11-10 00:01 wangya216 阅读(58) 评论(0) 推荐(0)
摘要: 基于实际字节码解析Python链式赋值:从ls1[i]=2到a=b=c=10的完整机制 针对你提出的“无固定‘左右顺序’?”的疑问,结合你提供的真实字节码(dis模块输出),我们可以明确:Python链式赋值不存在绝对统一的“左→右”或“右→左”顺序,而是遵循“先解析最右侧表达式,再按赋值目标的语法 阅读全文
posted @ 2025-11-09 22:34 wangya216 阅读(18) 评论(0) 推荐(0)
摘要: Python链式比较:从原理到避坑,一文吃透优雅又易踩坑的特性 在Python中,“链式比较”是一项极具“数学直觉”的原生特性——它让1 ≤ score ≤ 90这样的表达式直接在代码中生效,无需拆成1 ≤ score and score ≤ 90。但这份优雅背后藏着容易忽略的规则:当表达式涉及in 阅读全文
posted @ 2025-11-09 22:12 wangya216 阅读(113) 评论(0) 推荐(1)
摘要: Python中i = s[i] = 3的底层执行机制:从字节码看链式赋值的栈操作逻辑 在Python中,i = s[i] = 3这种“链式赋值”语句看似简单,实则包含了精密的栈操作、值传递与对象修改逻辑。通过dis模块反编译的字节码,我们能清晰看到解释器如何一步步拆解这条语句——从常量加载到栈复制, 阅读全文
posted @ 2025-11-09 22:10 wangya216 阅读(23) 评论(0) 推荐(0)
摘要: Python中a = b = 10的底层机制:从名字绑定到引用计数的完整拆解 在Python中,a = b = 10这种“链式赋值”看似是简单的语法糖,但其底层执行逻辑与C语言的同名语法存在本质差异——它不是“先把10赋给b,再把b的值赋给a”的“值传递”,而是“先解析右侧对象,再依次将多个名字绑定 阅读全文
posted @ 2025-11-09 21:31 wangya216 阅读(26) 评论(0) 推荐(0)
摘要: Python中“赋值”说法是否规范?与C语言赋值的界限必须划清 在Python语境中,“赋值”是行业内约定俗成的常用说法(如官方文档、教材、社区讨论中频繁出现),但其语义边界必须与C语言的“赋值”严格区分——若直接将Python的=操作等同于C语言的赋值,会陷入“变量存储值”“赋值有返回值”等认知误 阅读全文
posted @ 2025-11-09 21:22 wangya216 阅读(35) 评论(0) 推荐(0)
摘要: 详解=的语句属性与无返回值特性 在Python学习中,“赋值”是描述a = 10这类语句的常用说法,但结合之前讨论的“名字-对象绑定模型”“对象三属性(标识、类型、值)”,很多开发者会疑惑:“赋值”这个说法是否准确规范?为何=构成的是“语句”而非“表达式”,且没有返回值?本文将从术语规范性、语法本质 阅读全文
posted @ 2025-11-09 21:22 wangya216 阅读(8) 评论(0) 推荐(0)
摘要: Python不可变与可变对象:本质差异解析(文章大纲) 一、开篇:直击核心困惑——“不可变/可变”到底指什么? 引出用户高频混淆点: 误以为“不可变”指名字不能改(实际名字可随时绑定新对象); 误以为“不可变”指对象内存地址会变(实际对象标识一旦创建永不改变); 混淆“对象的标识、类型、值”与“可变 阅读全文
posted @ 2025-11-09 21:11 wangya216 阅读(64) 评论(0) 推荐(0)
摘要: 从CPython底层解析:为何a=10 b=10复用对象,a=[] b=[]新建对象? 疑问本质是:CPython对“不可变对象(如int)”和“可变对象(如list)”采用了完全不同的“对象创建/复用策略”——前者通过“预缓存池”复用已有对象,后者强制新建独立对象。这种差异的根源并非“CPytho 阅读全文
posted @ 2025-11-09 20:41 wangya216 阅读(25) 评论(0) 推荐(0)
摘要: 以下是从CPython底层机制出发的纯学术性解析,聚焦a=None与a=[]的本质差异、None的单例内核,以及与其他语言null的底层区别,结合CPython源码结构与对象模型展开: 从CPython底层机制解析a=None与a=[]的本质差异 ——聚焦None的单例性与空对象模型 在CPytho 阅读全文
posted @ 2025-11-09 20:35 wangya216 阅读(29) 评论(0) 推荐(0)