上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 在 Python 中,“.” 是运算符,具体来说是属性访问运算符,用于访问对象的属性或方法。它的核心作用是在对象与属性/方法之间建立关联,实现对对象内部数据和行为的调用。 一、“.” 作为属性访问运算符的应用场景 1. 访问对象的属性 对象的属性是其存储的数据,通过“.”可以直接读取或修改这些属性的 阅读全文
posted @ 2025-10-22 10:44 wangya216 阅读(74) 评论(0) 推荐(0)
摘要: 一、面向过程实现 # 攻击值定义 attack_vals = { "京巴": 30, "藏獒": 80 } # 生成狗的信息 def dog(name, dtype): data = { "name": name, "dtype": dtype, "life_val": 100, "attack_v 阅读全文
posted @ 2025-10-22 10:35 wangya216 阅读(49) 评论(0) 推荐(0)
摘要: Python 中单下划线与双下划线命名的使用 在 Python 中,变量或函数名前的“下划线”并非简单的装饰,而是承载着“访问权限”和“设计意图”的重要约定。无论是单下划线(_name)还是双下划线(__name),都服务于“区分成员用途、降低代码耦合”的目标,但在使用场景、语法特性和访问限制上存在 阅读全文
posted @ 2025-10-22 10:25 wangya216 阅读(51) 评论(0) 推荐(0)
摘要: 要理解super(),可以先记住它的核心作用:帮你找到“父类或兄弟类”的方法,尤其是当子类自己重写了某个方法,但你还想调用被重写的“原版”(父类或兄弟类的版本)时,就需要它。 先看个最简单的例子:单继承中用super() 比如你写了一个子类继承父类,子类重写了父类的方法,但想在子类方法里顺便调用一下 阅读全文
posted @ 2025-10-22 06:25 wangya216 阅读(23) 评论(0) 推荐(0)
摘要: 在 Python 中,“一切皆对象”是核心设计哲学,理解这一点能帮我们打通对 Python 语法的底层认知。下面结合具体问题详细解释: 一、为什么说 Python 中“一切皆对象”? 在 Python 中,所有能被“赋值给变量”或“作为参数传递”的实体,本质上都是“对象”。对象的核心特征是:有自己的 阅读全文
posted @ 2025-10-22 06:20 wangya216 阅读(77) 评论(0) 推荐(0)
摘要: 五节课掌握 Python 面向对象(以“人狗大战”为例) 第一节课:OOP 入门——创建“人”和“狗”的基本模型 目标:掌握类、对象、实例属性和方法的基础语法,能创建简单的“人”和“狗”并让它们执行基本动作。 什么是面向对象?从“人狗大战”理解 现实中的“人”和“狗”:有名字、生命值(属性),会攻击 阅读全文
posted @ 2025-10-22 06:06 wangya216 阅读(96) 评论(0) 推荐(0)
摘要: 在 Python 中,静态方法(@staticmethod)和类方法(@classmethod)都属于“类级别的方法”,但适用场景有明确区别。以下从核心特性出发,详细说明两者的应用场景及选择原则: 一、静态方法(@staticmethod):与类/实例均无关的“工具函数” 静态方法没有 self 或 阅读全文
posted @ 2025-10-22 05:47 wangya216 阅读(79) 评论(0) 推荐(0)
摘要: 在讲解多态时较少优先用 Python 抽象基类(ABC,Abstract Base Class),核心原因是 ABC 并非 Python 多态的“主流或默认实现方式”,它更偏向“静态语言风格的补充工具”,而 Python 多态的本质是由动态类型和鸭子类型决定的——这更符合 Python“灵活、简洁” 阅读全文
posted @ 2025-10-22 05:33 wangya216 阅读(18) 评论(0) 推荐(0)
摘要: 鸭子类型(Duck Typing)中的“类型”,指的是什么的类型? 鸭子类型(Duck Typing)中的“类型”,指的是“具备特定行为的对象的类型”——它不是传统意义上“由类定义的类型”(如 int、str 或自定义类),而是“由对象具备的方法/属性(行为)所定义的逻辑类型”。简单说:“类型”由“ 阅读全文
posted @ 2025-10-22 05:09 wangya216 阅读(35) 评论(0) 推荐(0)
摘要: C++ 和 Python 中的“多态”都围绕“同一接口、不同实现”的核心思想,但由于语言特性(静态类型 vs 动态类型)的差异,两者在实现方式、约束性、灵活性上有显著区别。以下从核心机制、实现条件、使用场景等维度对比: 一、核心机制:静态绑定 vs 动态绑定 C++ 的多态:基于静态类型检查 + 动 阅读全文
posted @ 2025-10-22 04:49 wangya216 阅读(26) 评论(0) 推荐(0)
摘要: Python 类属性的应用场景 在面向对象编程中,类属性作为一种特殊的属性形式,始终扮演着“共享者”与“管理者”的角色。与实例属性为每个对象单独存储数据不同,类属性属于类本身,被所有实例共同拥有和访问。这种特性使得它在诸多场景中展现出不可替代的价值。本文将系统梳理类属性的核心应用场景,帮助开发者理解 阅读全文
posted @ 2025-10-21 06:50 wangya216 阅读(28) 评论(0) 推荐(0)
摘要: 为什么很多人分不清关联和聚合 这个问题确实很常见,很多人(包括有经验的开发者)都会混淆关联和聚合。让我从多个角度分析这个现象的原因。 主要混淆原因 1. 代码实现的高度相似性 # 关联关系的代码 class University: def __init__(self): self.cooperati 阅读全文
posted @ 2025-10-21 06:23 wangya216 阅读(16) 评论(0) 推荐(0)
摘要: 类属性(Class Attribute)是定义在类中、不属于任何实例的属性,它被该类的所有实例共享。将属性设为类属性而非实例属性的必要性,主要体现在数据共享、全局状态维护、节省内存等场景中。以下从核心作用和具体示例两方面说明: 一、类属性的核心必要性 实现所有实例间的数据共享 类属性的值在该类的所有 阅读全文
posted @ 2025-10-21 05:25 wangya216 阅读(14) 评论(0) 推荐(0)
摘要: 下面以“人狗大战”为场景,系统梳理面向对象中继承、组合、聚合、关联、依赖5种核心关系,通过战斗细节直观展示每种关系的特性与区别。 场景核心逻辑 所有角色(人、狗)都是“生物”,共享生命值、受伤等基础特性(继承); 人自带拳头、狗自带牙齿,这些是身体不可分割的部分(组合); 人可持有武器、狗可佩戴项圈 阅读全文
posted @ 2025-10-20 11:52 wangya216 阅读(79) 评论(0) 推荐(0)
摘要: 一、类与类之间的关系 继承/泛化 (Inheritance/Generalization) class Animal: def __init__(self, name): self.name = name def speak(self): raise NotImplementedError("子类必 阅读全文
posted @ 2025-10-20 11:39 wangya216 阅读(27) 评论(0) 推荐(0)
摘要: import time from functools import wraps # # 计时装饰器 # def recursion_timer(func): """用于统计递归函数总执行时间的装饰器""" is_timing = False start_time = 0.0 @wraps(func) 阅读全文
posted @ 2025-10-15 17:30 wangya216 阅读(13) 评论(0) 推荐(0)
摘要: @wraps(func) 是 Python 标准库 functools 模块提供的一个装饰器,主要用于保留被装饰函数的元信息(metadata)。当我们使用自定义装饰器包装函数时,被装饰后的函数会丢失原函数的名称、文档字符串等信息,而 @wraps(func) 可以解决这个问题。 为什么需要 @wr 阅读全文
posted @ 2025-10-15 17:28 wangya216 阅读(39) 评论(0) 推荐(0)
摘要: Python 中的函数签名:详解与实例 函数签名(Function Signature)在 Python 中是对函数调用接口的结构化描述,它定义了函数接收参数的方式、类型提示以及返回值信息。Python 的函数签名具有灵活性,不强制参数类型,但能清晰展示函数的使用规则。 一、函数签名的核心组成 Py 阅读全文
posted @ 2025-10-11 01:32 wangya216 阅读(55) 评论(0) 推荐(0)
摘要: 装饰器工厂与类装饰器:进阶装饰器技术解析 装饰器是Python中强大的元编程工具,除多种进阶形式。其中装饰器工厂(Decorator Factory)和类装饰器(Class Decorator)是两种重要变体,分别解决“带参数的装饰器”和“复杂状态管理的装饰器”问题。下面详细解析两者的原理、用法和区 阅读全文
posted @ 2025-10-11 01:16 wangya216 阅读(27) 评论(0) 推荐(0)
摘要: 要理解“闭包函数和嵌套函数的区别在于 __closure__ 属性”,首先需要明确 嵌套函数 和 闭包函数 的基础关系——闭包函数是“满足特定条件的嵌套函数”,而 __closure__ 属性正是闭包函数区别于普通嵌套函数的“标志性特征”,它记录了闭包对外部变量的“捕获痕迹”。下面分步骤拆解这句话的 阅读全文
posted @ 2025-10-11 01:08 wangya216 阅读(19) 评论(0) 推荐(0)
摘要: 在编程中,“表达式”(Expression)和“语句”(Statement)是两个基础且容易混淆的概念。它们的核心区别在于是否有返回值以及在代码中的作用,以下从定义、特点、示例三个维度详细说明: 一、定义与核心区别 表达式(Expression): 由变量、常量、运算符等组合而成的“计算式”,必须有 阅读全文
posted @ 2025-10-11 01:00 wangya216 阅读(142) 评论(0) 推荐(0)
摘要: “猴子补丁”(monkey patch)指的是使原有的函数名指向另一个新函数。 这个名字里的“猴子”(monkey)和真实的动物猴子没有任何生物学或实体关联,它是编程领域的一个形象比喻,名字的由来与“猴子”的俚语含义有关。 一、什么是猴子补丁? 猴子补丁的本质是在程序运行时(而非编译期或源码修改阶段 阅读全文
posted @ 2025-10-11 00:30 wangya216 阅读(35) 评论(0) 推荐(0)
摘要: 等号(=)在C语言和python中有什么区别? 一、本质:表达式 vs 语句 这是最核心的区别,直接决定了 = 在两种语言中的“语法地位”。 C 语言:= 是“赋值运算符”,属于表达式 C 语言中,= 是运算符,其运算结果是“被赋予的值”(即赋值后变量的值)。因此,赋值操作可以作为“表达式”的一部分 阅读全文
posted @ 2025-10-10 23:49 wangya216 阅读(24) 评论(0) 推荐(0)
摘要: 详解 a, b = b, a + b:执行逻辑、常见误区与赋值符号辨析 在 Python 中,a, b = b, a + b 是一句看似简单却暗藏玄机的代码。它广泛用于斐波那契数列生成、变量交换等场景,但许多开发者对其执行逻辑存在误解,甚至会混淆赋值符号(=)与海象运算符(:=)的区别。本文将深入解 阅读全文
posted @ 2025-10-10 23:26 wangya216 阅读(29) 评论(0) 推荐(0)
摘要: Python 第三方模块的获取与安装 在 Python 生态中,第三方模块(也称为第三方库)是扩展 Python 功能的重要方式。这些模块由社区开发并共享,覆盖了从数据分析到网络爬虫、从机器学习到游戏开发等几乎所有领域。下面详细介绍如何获取和安装第三方模块。 一、获取第三方模块的途径 1. PyPI 阅读全文
posted @ 2025-10-10 10:02 wangya216 阅读(41) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 下一页