Hilda

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

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的一个内置的数据结构,是一个不可变且有序序列。 这意味着一旦元组被创建,其中的元素就不能被修改、添加或删除。元组可以包含任意类型的数据,并且允许存在重复的元素。 不可变序列与可变序列 不变可变序:字符串、元组,没有增、删,改的操作 可变序列:列表、字典,可以...

python基础-字典dict

Python字典是一种基于哈希表的可变、无序键值对数据结构,键唯一且不可变,值可为任意类型。支持快速查找、插入、删除(平均O(1)),可通过花括号、dict()、fromkeys()创建,使用del、clear()、pop()等操作管理元素,字典推导式提供高效构建方式。

Python 字典是一种非常强大的数据结构,用于存储键值对。它在许多编程场景中都非常有用,例如数据查找、配置管理等。 1.什么是字典 dict:Python内置的数据结构之一,与列表一样是一个可变序列,以键值对的方式存储数据,字典是一个无序的序列 字典是 Python 中一种可变(mutable)、无序(unordered)的键值对(key-value pair)集...

python基础-列表list

Python列表存储对象引用,可存任意类型数据,动态分配内存。支持创建、删除、查询、增删改、排序等操作,索引从0开始,支持负索引和切片。列表推导式提供简洁创建方式,效率高且易读。

列表存储的是多个对象的引用。 注意:之前了解过,python的一个对象由三部分组成:id,type,value。其中id可以理解为是内存地址。一个标识符其实存储的是对象的id值,通过这个id值可以找到对象的值等信息。 而列表中,存储的就是各个对象的id值(存的是引用,不是值)。 为什么需要列表? 变量可以存储一个元素,而列表是一个“大容器”可以存储N多个元素,程序可以...

python基础-流程控制之循环

range()生成整数序列,支持自定义范围和步长,惰性计算节省内存。while和for-in循环实现重复操作,需注意死循环和迭代对象。break/continue控制循环流,else在无break时执行。嵌套循环需谨慎管理break/continue。

1.range()函数的使用 range() 用于生成一个整数序列,常用于循环中。 语法:range(start, stop, step),其中: start:起始值(包含,默认 0)。 stop:结束值(不包含)。 step:步长(默认 1)。 返回一个 range 对象(返回值是一个迭代器对象, 如果需要查看里面的内容,需要用list转换为列表),可通过 li...

python基础-程序结构与条件控制

1996年证明算法由顺序、选择、循环结构组成。Python顺序结构按顺序执行,对象有布尔值,假值如0、None、空容器。分支结构包括单、双、多分支及嵌套,条件表达式简写if-else,pass占位符用于未完成代码。

1.程序的组织结构 1996年,计算机科学家证明了这样的事实:任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成 2.顺序结构 顺序结构:程序从上到下顺序地执行代码,中间没有任何的判断和跳转,直到程序结束 3.对象的布尔值 每个对象都有一个布尔值(True 或 False),通过 bool() 函数可以显式转换为布尔值。某些对象在布尔上下文中...