Hilda

「离开世界之前 一切都是过程」

1、什么叫模块 模块是Python代码的组织单位,它是一个包含Python定义和语句的文件。通过模块,我们可以将相关的代码组织在一起,提高代码的重用性、可维护性和可读性。 在Python中,一个 .py 文件就是一个模块。模块可以定义函数、类、变量,或者包含可执行的代码。当一个模块被导入(import)到另一个Python程序中时,该模块中的定义就可以被使用。 模块的优点: ...

python基础-面向对象编程(2)-练习

通过Python示例讲解面向对象编程:封装(Person类、TemperatureConverter类使用私有属性和@property 实现数据保护与转换)、继承(Vehicle与Car、SystemMonitor多重继承展示代码重用)、方法重写(Shape子类、Employee与Manager重写方法定制行为)、object类(Vector2D、Product重写特殊方法)和多态(车辆类、PaymentMethod抽象基类实现鸭子类型与接口统一)

封装 习题1.1 创建一个 Person 类,包含 name 和 age 两个实例属性。 ○ 将 age 属性设置为“私有”(使用双下划线 __age)。 ○ 使用 @property 装饰器为 __age 提供一个 getter 方法,确保年龄获取时总是返回正整数。 ○ 为 __age 提供一个 setter 方法,确保设置的年龄是介于 0 到 120 之间的整数。如果不在范...

python基础-面向对象编程(2)

介绍面向对象编程三大特性:封装(数据与方法捆绑,隐藏实现细节,强调高内聚低耦合)、继承(代码重用,子类继承父类属性与方法)、多态(同一接口多种实现,鸭子类型与抽象基类)。通过Python代码示例,展示封装、继承、多态、方法重写、object类及特殊方法与属性

1、封装 封装是面向对象编程的三大核心特性之一(另两个是继承和多态)。它指的是将数据(属性)和操作数据的方法(行为)捆绑在一起,形成一个独立的单元——对象。同时,封装也强调对内部实现细节的隐藏,只对外提供有限且明确的接口,以保护数据的完整性和安全性。 封装的核心思想是“高内聚,低耦合”。 ● 高内聚: 指一个模块内部的元素(数据和方法)彼此紧密相关,共同完成一个单一的、明确的功...

python基础-类的浅拷贝和深拷贝

Python变量赋值与拷贝:赋值操作使变量指向同一对象,修改影响所有引用;浅拷贝复制顶层对象,子对象共享,修改子对象影响原对象;深拷贝递归复制所有对象,源对象与拷贝对象完全独立,互不影响

1.变量的赋值操作 只是形成两个变量,实际上还是指向同一个对象 【1】在Python中,当你执行赋值操作,例如 a = [1, 2, 3] 然后 b = a,你并没有创建两个独立的对象。实际上,变量 a 和 b 都指向了内存中的同一个列表对象 [1, 2, 3]。 1 2 3 4 a = [1, 2, 3] b = a print(a, id(a)) print(b, id(b))...

python基础-面向对象编程-练习

通过习题对比面向过程与面向对象编程,展示类、对象、类属性、实例方法、类方法及静态方法的定义与使用。涵盖列表偶数和计算、书籍与汽车类设计、学生信息管理、圆面积计算及日志记录等Python实现。

面向对象编程习题 (1)两大编程思想 习题 1.1 (面向过程) 编写一个面向过程的程序,计算并打印一个列表中所有偶数的和。 ○ 定义一个列表 numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]。 ○ 定义一个函数 sum_even_numbers(num_list),接收列表作为参数,计算偶数和并返回。 ○ 调用函数并打印结果。 参考:...

python基础-面向对象编程

介绍面向过程与面向对象编程思想,对比其特点、优缺点及适用场景。面向过程以函数为中心,逻辑清晰;面向对象以对象为核心,强调封装、继承、多态、抽象,适合复杂系统。提供Python代码示例,展示类、对象、属性、方法及动态绑定的实现

1、两大编程思想 编程思想是指导我们如何组织和构建代码的方法论。最主要的两种思想是面向过程编程 (Procedural Programming) 和 面向对象编程 (Object-Oriented Programming, OOP)。 面向过程编程 (Procedural Programming):○ 以“过程”(即函数或子程序)为中心,强调程序的执行流程。它将问题分解为一...

python基础-Bug与异常机制

“Bug”指程序错误,源于1947年飞蛾卡继电器事件。分类包括语法错误、运行时异常、逻辑错误和环境错误。Python用try-except处理异常,支持捕获特定或全部异常,else和finally块确保逻辑清晰和资源释放。自定义异常和traceback模块增强调试能力

1、Bug的由来及分类 “Bug”是指程序中的错误或缺陷,导致程序行为不符合预期。它们通常分为语法错误、运行时错误(异常)、逻辑错误和环境错误。 (1)Bug的起源 “Bug”一词的起源可以追溯到计算机早期。最著名的故事是1947年,计算机科学家格蕾丝·霍珀(Grace Hopper)在Mark II计算机中发现一只飞蛾卡在继电器中,导致计算机故障。她将这只飞蛾从日志中取出,并写下...

python基础-函数

函数是可复用代码块,通过def定义,调用时执行特定任务。Python函数支持“一等公民”特性,可赋值、传递、嵌套。参数传递为对象引用,需注意可变与不可变对象的不同行为及默认参数陷阱。返回值可单个、多个或None,遵循LEGB作用域规则。递归函数通过基本情况和递归步骤解决问题,需注意性能和栈溢出风险

1、函数的创建和调用 函数就是执行特定任和以完成特定功能的一段代码。 为什么需要函数? 复用代码 隐藏实现细节 可维护性 可调试性 可读性 函数是组织良好、可重用的代码块,用于执行特定任务。在Python中,使用 def 关键字创建函数,并通过函数名后跟括号 () 来调用。 函数是Python中的“一等公民”(fi...

python基础-不可变序列-字符串

Python字符串驻留优化内存和比较效率,短字符串、字面量易驻留,运行时拼接不驻留。常用操作包括查找、替换、分割、连接等,均为不可变操作。比较基于Unicode字典序,切片提取子串,格式化支持%-style、str.format、f-string,编码转换处理Unicode与字节串

1、字符串的驻留机制 字符串驻留是Python(以及其他一些语言)为优化内存使用和提高字符串比较效率而采用的一种机制。它会为某些短的、简单的字符串在内存中维护一个唯一的副本,当创建相同内容的字符串时,直接引用这个副本而不是创建新的对象。 在Python中,字符串是不可变的序列。为了提高性能,Python解释器会对其内部的某些字符串进行“驻留”(Interning)。这意味着如果两个或...

python基础-元组tuple和集合set

Python元组是不可变、有序序列,可用小括号或tuple()创建,适合作为字典键。集合是无序、可变、无重复元素的序列,基于哈希表实现,支持高效增删查及集合运算。元组无生成式,集合可用生成式快速创建。

注意没有元组生成式,其他结构都有相应的生成式。 1、什么是元组 元组是python的一个内置的数据结构,是一个不可变且有序序列。 这意味着一旦元组被创建,其中的元素就不能被修改、添加或删除。元组可以包含任意类型的数据,并且允许存在重复的元素。 不可变序列与可变序列 不变可变序:字符串、元组,没有增、删,改的操作 可变序列:列表、字典,可以...