摘要: 从 C 到 Python:文件操作与上下文管理器的深度解析(避坑指南) 对于习惯了 C 语言手动管理资源的学习者,Python 的文件操作和上下文管理器常常带来认知混淆:为什么 C 必须手动 fopen/fclose,而 Python 能用 with 自动处理?as 关键字是不是多余的?本文将从“文 阅读全文
posted @ 2025-11-16 21:09 wangya216 阅读(7) 评论(0) 推荐(0)
摘要: 断言:从调试利器到程序守护者的全面解析 一、什么是断言?—— 定义与核心价值 断言(Assertion)是编程语言中一种调试与验证机制,用于在代码中嵌入“必须满足的条件”——当条件为True时,程序正常运行;当条件为False时,程序立即终止并抛出错误,暴露潜在问题。 核心价值: 提前暴露隐患:在开 阅读全文
posted @ 2025-11-16 11:17 wangya216 阅读(12) 评论(0) 推荐(0)
摘要: 一、IO编程的核心定义(通俗+严谨) 1. 通俗理解: IO 是 Input/Output(输入/输出) 的缩写,IO编程本质是 “程序与外部设备/资源之间的数据交互” ——就像程序的“进出口业务”: 输入(Input):外部数据流入程序(如读取文件内容、键盘输入、网络接收数据); 输出(Outpu 阅读全文
posted @ 2025-11-16 11:12 wangya216 阅读(11) 评论(0) 推荐(0)
摘要: CPython(Python 官方解释器)对 str 的底层存储实现,核心结论是:Python 3.3+ 采用“柔性字符串存储”(Flexible String Representation),优先使用 UTF-8 编码,仅在必要时动态切换到 UTF-16/UTF-32,而非固定某一种编码。 这种设 阅读全文
posted @ 2025-11-16 10:48 wangya216 阅读(6) 评论(0) 推荐(0)
摘要: C 语言中的字符串跟 Python 里面字符串都有哪些不同? 核心差异:C的字符串是需手动管理的字符数组,Python的是不可变对象,关键不同集中在5点: 本质与存储:C是char[](连续内存的字符序列,以'\0'结尾);Python是str对象(封装了字符数据,无需关注结束符)。 可变性:C字符 阅读全文
posted @ 2025-11-16 10:41 wangya216 阅读(4) 评论(0) 推荐(0)
摘要: 功能 声明(Declaration) 定义(Definition) 告知“有这个东西” ✅ 核心职责 ✅ 自带(包含声明) 绑定类型 ✅ 必须绑定 ✅ 必须绑定(和声明一致) 分配存储单元/实体 ❌ 不分配 ✅ 核心职责(变量给内存,函数给实现) 一句话记死: 声明:报名字+定类型(让编译器认识它) 阅读全文
posted @ 2025-11-16 10:33 wangya216 阅读(5) 评论(0) 推荐(0)
摘要: 对比维度 C 语言函数 Python 函数 声明与定义 可分离(声明写头文件,定义写.c文件),必须先声明(或定义)再使用 声明与定义合一(def语句即完成定义+声明),无需单独声明 类型绑定 必须指定返回值类型、参数类型,类型固定 无需显式指定类型(动态类型),参数/返回值类型可灵活变化 绑定时机 阅读全文
posted @ 2025-11-16 10:32 wangya216 阅读(5) 评论(0) 推荐(0)
摘要: 不完全准确,更严谨的表述是: “Python 淡化了静态语言中‘声明与定义分离’的严格区分,强化了‘对象创建与名称绑定’的核心逻辑” 原因: C 中 “定义” 是 “分配内存 + 绑定类型”,“声明” 是 “告知存在”;Python 无此二分法,但并非完全没有 “定义” 的口语场景(如 “定义函数” 阅读全文
posted @ 2025-11-16 10:25 wangya216 阅读(4) 评论(0) 推荐(0)
摘要: x = True # 全局名称x绑定布尔对象True print(locals()['x']) # 输出:True print(globals()['x']) # 输出:True 阅读全文
posted @ 2025-11-16 10:06 wangya216 阅读(2) 评论(0) 推荐(0)