- 博客(47)
- 收藏
- 关注
原创 Python中的 for 与 迭代器
通过实现__iter__()和__next__()方法创建自定义迭代器。for循环本质:基于迭代器协议,自动处理iter()和next()。迭代器优势:惰性计算(节省内存),适合处理大型数据集。生成器简化:使用yield快速创建迭代器。工具扩展:利用itertools模块实现复杂迭代逻辑。掌握迭代器机制,可以编写更高效、灵活的 Python 代码!喵,就是这样~😼😼😼。
2025-04-24 20:16:41
852
原创 Python学习笔记(三)(程序流程控制)
条件语句:通过实现分支逻辑。循环语句for遍历序列,while满足条件时循环。流程控制break终止循环,continue跳过当前迭代,pass占位。异常处理保证程序健壮性。掌握这些流程控制工具,可以编写更灵活、高效的 Python 程序!
2025-04-24 19:54:05
1152
原创 Python中random库的应用
条件分支:通过random库生成随机条件值(如randint()random()循环控制:利用随机数控制循环次数或终止条件(如whilebreak数据操作:随机选择元素(choice)、打乱顺序(shuffle)或生成随机样本(sample实际应用:随机验证码、游戏逻辑、模拟测试数据等。掌握random库与流程控制的结合,可以编写更动态、灵活的程序逻辑呦!
2025-04-24 19:52:03
646
原创 生成随机验证码-解析与优化
示例:生成仅含大写字母和数字的验证码print(generate_code_custom(chars=custom_chars)) # 如 'X9L8V2'基础功能:原代码能有效生成数字+字母的随机字符串。安全性:高安全场景应使用secrets模块。可读性:通过参数命名和类型注解提升代码可维护性。灵活性:支持自定义字符集和安全模式,适应不同需求。健壮性:添加参数校验避免非法输入导致的异常。慢慢进步吧~🐍🐍🐍。
2025-04-24 19:49:31
788
原创 Python中的“*”
场景示例作用函数参数解包解包可迭代对象作为位置参数可变参数收集收集多个位置参数为元组可迭代对象解包解包剩余元素字典解包解包字典为关键字参数合并可迭代对象[*a, *b]合并多个列表/元组字符串解包[*"hello"]拆解字符串为字符列表是一个强大的操作符,在 Python 中广泛用于解包和参数传递,使代码更简洁灵活。
2025-04-24 14:53:21
351
原创 Python中的“,”
作用:逗号分隔元素,并标识元组。注意:单元素元组必须以逗号结尾,否则会被视为普通括号。a = (1) # 类型为 intb = (1,) # 类型为 tuplec = 1, 2, 3 # 等价于 (1, 2, 3)逗号在Python中主要用于分隔元素(如元组、列表、字典)、函数参数、变量赋值等场景。单元素元组必须加逗号。尾随逗号在多数情况下合法且推荐使用(便于扩展)。区分集合({}需要元素)与字典({}是空字典)。函数调用和数据结构中的逗号需确保参数/元素数量匹配。
2025-04-23 19:13:51
743
原创 C++ 数学算法全解析(二):解方程与三角函数实用指南
掌握这些数学工具,让你的程序既能处理复杂计算,又能解决现实问题!🚀 敬请期待后续深度解析~:笼子里有10个头,30只脚,问鸡兔各几只?:3斤苹果花了15元,每斤多少钱?2鸡 + 4兔 = 30。鸡 + 兔 = 10。
2025-04-19 20:20:25
826
原创 Python中列表与元组的遍历与排序
虽然列表是可变的、元组是不可变的,但它们的排序方式有所不同。列表和元组都支持多种遍历方式,因为它们都是可迭代对象。
2025-04-17 15:27:55
249
原创 Python中的count()方法
是Python中用于序列类型(如列表、元组、字符串等)的内置方法,用于统计某个元素在序列中出现的次数。是一个简单但实用的方法,特别适合需要快速统计元素出现次数的场景。对于包含复杂元素的序列(如列表的列表),
2025-04-17 15:13:29
563
原创 count()应用中代码解析
这个例子展示了如何在自定义类中使用 方法,关键在于理解 方法的作用。让我们详细分析:关键点说明 方法的作用: 的工作原理:具体执行过程:必须实现 方法: 的影响:性能考虑:如果想根据其他属性计数,只需修改 :常见错误忘记实现 : 实现不一致:这个例子很好地展示了Python中如何通过魔术方法自定义对象的行为,使内置方法如 能够按照我们的业务逻辑工作。
2025-04-17 15:09:49
252
原创 Python 之count()报错
记住这个区别可以避免类似的错误发生。在实际编程中,当需要对列表部分范围统计时,优先考虑切片方案。方法时传入了错误的参数数量。让我们仔细分析问题并给出解决方案。这是一个常见的混淆点。这个错误表明你在使用。
2025-04-17 15:01:34
413
原创 我的机器学习之路(初稿)
机器学习(Machine Learning)是人工智能的子领域,通过算法让计算机从数据中自动学习规律,并用于预测或决策,而无需显式编程。
2025-04-15 20:16:07
1467
原创 Python 的 re.split()
如果需要处理更复杂的分割逻辑,正则表达式会非常有用的。导入 Python 的正则表达式模块。定义了一个包含字母和数字的字符串。方法通过正则表达式分割字符串。如何使用 Python 的。
2025-04-12 11:59:17
400
原创 Python中字符串分隔与连接函数
方法方向返回结果适用场景split()从左列表(不含分隔符)通用分割rsplit()从右列表(不含分隔符)从右限制分割次数按行分割的列表多行文本处理首次三元组(包含分隔符)提取分隔符前后部分末次三元组(包含分隔符)从右提取分隔符前后re.split()支持正则的列表复杂分隔符(如多个符号)
2025-04-12 11:49:56
633
原创 Python中的strip()
的指定字符(默认为空白字符)。它不会修改原字符串,而是返回一个新的字符串。是一个字符串方法,用于移除字符串。希望这些示例能帮助你理解。在 Python 中,
2025-04-12 11:45:29
433
原创 Python中的eval()函数详解
eval()避免用于处理不受信任的输入尽量使用更安全的替代方案如使用时严格限制可访问的命名空间考虑是否有更好的实现方式在大多数情况下,如果发现自己在考虑使用eval(),应该先思考是否有更安全、更明确的方法来实现相同的功能。🌊🌊🌊🌊🌊🌊。
2025-04-11 23:34:23
1396
原创 Python 关键字详解
理解这些关键字及其用法是掌握Python编程的基础。每个关键字都有特定的语法规则和使用场景,正确使用它们可以编写出结构清晰、逻辑严密的Python代码。🐍🐍🐍。
2025-04-11 23:12:00
796
原创 Python 类型转换详解
类型转换是将一个数据类型的值转换为另一个数据类型的过程。Python提供了多种内置函数来实现不同类型之间的转换。:转换前应确保数据可以合法转换。:某些操作会自动进行类型转换。:浮点转整数会截断小数部分。
2025-04-11 22:57:13
410
原创 Python函数的说明文档的访问方式
• 推荐包含:功能描述、参数说明、返回值说明。• 文档字符串应紧跟函数定义,用三引号包裹。会格式化输出并包含额外信息(如模块路径)(PyCharm等IDE)快速查看文档。直接返回原始字符串,适合程序化处理。规范编写更专业的文档。
2025-04-11 22:34:19
212
原创 Python 装饰器(Decorator)
start = time.time() # 记录开始时间result = func(*args, **kwargs) # 执行被装饰的函数end = time.time() # 记录结束时间print(f"函数。
2025-04-11 22:30:30
449
原创 Python学习笔记(二)(字符串)
x = 10 # 整数name = "Alice" # 字符串is_valid = True # 布尔值s1 = '单引号字符串's2 = "双引号字符串"s3 = """多行字符串"""
2025-04-11 21:47:48
1034
原创 Python Turtle 入门绘图库
Turtle 是 Python 标准库之一,是入门级图形绘制函数库。它使用海龟图形(turtle graphics)的概念来绘制图形。这个库非常适合初学者学习编程和图形绘制。
2025-04-10 15:18:03
301
原创 最短跳跃步数问题(C++实现)(奇怪的电梯)
对于这个问题(最短跳跃步数问题),BFS是最优的解决方案,因为它能保证在O(n)时间内找到最短路径。DFS虽然可行,但在最坏情况下性能较差。动态规划的实现相对复杂,且时间复杂度较高。在实际编程竞赛中,推荐使用BFS来解决这类最短路径问题。对于"奇怪的电梯"这类最短路径问题,BFS是最佳选择,因为它能保证找到最短路径且时间复杂度较低。DFS虽然实现简单,但在最坏情况下性能较差。在实际应用中,建议优先使用BFS解法。🐍🐍🐍。
2025-03-30 16:48:59
985
原创 C++之输入与输出
fixed 操作符可能最重要的还是当它与 setprecision 操作符一起使用时,setprecision 即可以以一种新的方式显示。它将指定浮点数字的小数点后要显示的位数,而不是要显示的总有效数位数。而这通常正是我们想要的。根据具体需求,可以组合使用这些技术来实现复杂的数据输入输出操作。使用setprecision()/cout.precision()之后,如果不在修改精度,则。C++ 使用标准库中的 iostream 库来处理输入输出操作。的数据输出都是按照设置的精度来输出(fixed同理)
2025-03-30 15:57:36
615
原创 简单数学之C++(一)
高精度计算是指处理超出基本数据类型表示范围的大整数运算。在C++中,当我们需要处理超过long long范围(约±9.2×10¹⁸)的整数时,就需要实现高精度计算。使用之前我们要先知道代替数据类型,即如何存储数据——答案就是使用数组存储。
2025-03-29 11:35:02
756
原创 C++ 排序算法完全指南:从入门到实践
适用场景:需要特殊排序逻辑示例需求:按绝对值排序、按学生成绩排序等// 按字符串长度排序});// 结果:cat → apple → banana💡 经典案例:多条件排序int score;int age;// 先按成绩降序,成绩相同按年龄升序= b.score)else});
2025-03-29 11:00:51
1111
原创 C++算法复杂度分析
算法复杂度分析是评估算法效率的关键工具,它帮助我们理解算法在不同规模输入下的性能表现。答:数学家有一个定义,只要一个算法找到答案所需要的时间,能做到n^k可以了。n^k 是n的多项式,因此满足这个条件的算法,叫做多项式时间算法。多项式时间算法是一个好算法。通过了解算法复杂度分析,可以预测算法性能,做出更合理的算法选择,优化现有代码的效率。(大数据来了,有些算法抵不住啊,必须要更新自己的知识库了)🐍🐍🐍🐍🐍🐍。(题外话:算法的改进需要人,人也需要反过来“驯服”算法,大家加油!:好算法和坏算法的关键
2025-03-29 10:57:52
891
原创 兮兮的C++学习笔记(二)(数据类型)
基数为 16,数字符号除了 0-9 外,还使用 A-F(或 a-f)来表示 10-15,逢十六进一。:基数为 8,数字符号为 0-7,逢八进一。:是进制的基本特征,表示每种进制中允许使用的数字符号的个数。:基数为 10,数字符号是 0-9,逢十进一,是人们日常生活和数学运算中最常用的进制。十进制转二进制:整数部分用除二取余法,将十进制数除以 2,取余数,再用商继续除以 2,直到商为 0,将余数倒序排列。二进制转十进制:从右至左,将二进制位上的数字乘以的相应位数次幂(从开始),然后将结果相加。
2025-02-17 21:47:15
631
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人