
python高级
文章平均质量分 82
python语言的更深层次的理解
Aerkui
这个作者很懒,什么都没留下…
展开
-
Python标准库-copy
self.x = xprint("执行浅拷贝")print("执行深拷贝")copy.copy(obj) # 输出:执行浅拷贝copy.deepcopy(obj) # 输出:执行深拷贝copy理解深浅拷贝的本质区别根据数据结构特点选择合适的拷贝方式对性能敏感场景进行针对性优化处理特殊对象时进行必要的验证。原创 2025-04-09 22:32:15 · 297 阅读 · 0 评论 -
Python内存池机制深度解析
Python内存池(Python Memory Pool)是Python解释器为了提高内存分配效率而设计的一种内存管理机制。它通过预先分配并维护一定数量的内存块,减少频繁调用系统malloc/free带来的性能开销。# 简单示例展示内存池效果import sysa = 1b = 1print(a is b) # True,小整数使用了内存池c = 1000d = 1000print(c is d) # Python 3.7+中可能为False,大整数可能不使用内存池。原创 2025-04-09 21:31:33 · 169 阅读 · 0 评论 -
Python深拷贝与浅拷贝深度解析:从内存模型到应用场景
拷贝是指在编程中创建一个对象的副本的行为。浅拷贝(Shallow Copy):只复制对象本身,不复制对象内部的子对象深拷贝(Deep Copy):递归复制对象及其所有子对象可以通过实现__copy__和print("执行浅拷贝")print("执行深拷贝")特性直接赋值浅拷贝深拷贝创建新对象❌✔️✔️子对象独立❌❌✔️处理循环引用❌✔️性能最快快慢适用场景只读访问简单结构复杂结构。原创 2025-04-08 22:10:52 · 527 阅读 · 0 评论 -
Python魔法方法:深入理解__repr__方法
_repr__是Python对象的一个重要方法,它提供了对象的明确字符串表示。遵循__repr__的最佳实践可以使你的代码更易于调试和维护。总是实现__repr__目标是提供明确、无歧义的表示理想情况下,返回的字符串应该能够用于重建对象__repr__和__str__有不同的用途,根据需求选择实现通过合理使用__repr__,你可以大大提高代码的可调试性和可维护性。原创 2025-04-08 21:09:52 · 717 阅读 · 0 评论 -
Python魔法方法:深入理解__slots__的底层原理与应用
_slots__特性使用__dict__使用__slots__内存使用较高较低属性访问速度较慢较快动态添加属性支持有限支持继承复杂性简单需要特别注意最佳实践建议在确定属性固定的情况下使用避免在需要动态添加属性的类中使用注意继承时的__slots__声明对于性能关键代码,先测量再决定。原创 2025-04-08 20:56:20 · 672 阅读 · 0 评论 -
Python中的is和==你真的了解吗?
比较项==is比较内容值是否相等是否是同一个对象调用方法__eq__()直接比较内存地址适用场景比较内容是否相同检查是否为None或单例对象理解is和==的区别是Python编程的基础之一。==比较值,is比较身份。在大多数情况下,你应该使用==来比较值是否相等,只有在需要检查两个变量是否指向完全相同的对象时才使用is。记住与None比较时总是使用is,这不仅更高效,也更符合Python的惯用法。原创 2025-04-08 20:47:26 · 210 阅读 · 0 评论 -
Python高阶函数:slice深度解析
slice是Python内置的高阶函数,用于创建切片对象,主要应用于序列类型(字符串、列表、元组等)的切片操作。与直接使用语法相比,slice对象可以重复使用并提高代码可读性。return f"切片从class MySequence : def __getitem__(self , index) : if isinstance(index , slice) : return f"切片从 {index . start } 到 {index . stop } ,步长 {原创 2025-04-08 20:42:03 · 579 阅读 · 0 评论 -
Python之禅:深入理解Python设计哲学
Python之禅不仅是Python语言的哲学,也是编写高质量代码的指南。编写更清晰、更易维护的代码做出更好的设计决策提高代码审查的效率和质量培养Pythonic的编程思维优秀的Python开发者不仅能够熟练使用Python语法,更能深刻理解并实践Python之禅中的设计哲学。在日常开发中,我们应该经常回顾这些原则,让它们成为我们编码时的自然指导。原创 2025-04-08 20:11:36 · 909 阅读 · 0 评论 -
Python高阶函数-eval深入解析
eval()是 Python 内置的一个强大但需要谨慎使用的高阶函数,它能够将字符串作为 Python 表达式进行解析并执行。避免使用 eval() 解析用户输入:这是最重要的安全原则限制命名空间:总是明确指定 globals 和 locals 参数考虑替代方案:优先使用 ast.literal_eval() 或其他安全方法性能考量:在循环或频繁调用的代码中避免使用 eval()代码可读性:过度使用 eval() 会降低代码可读性和可维护性eval()是 Python 中一个强大但危险的工具。原创 2025-04-07 21:42:32 · 342 阅读 · 0 评论 -
Python高阶函数-sorted(深度解析从原理到实战)
sorted()是Python内置的高阶函数,用于对可迭代对象进行排序操作。与列表的sort()方法不同,sorted()会返回一个新的已排序列表,而不改变原数据。# 奇偶数优先排序:奇数在前,数值小的在前sorted()灵活的参数设计(特别是key函数)稳定的排序算法广泛的应用场景优秀的性能表现掌握sorted()的高级用法,可以让你写出更Pythonic、更高效的排序代码。建议在实际项目中多实践各种排序场景,深入理解其底层原理。扩展阅读:Python官方文档中关于排序指南的详细说明。原创 2025-04-07 21:28:50 · 601 阅读 · 0 评论 -
Python高阶函数-reduce
reduce()是一个强大的函数式编程工具,但应谨慎使用。在Python中,显式循环通常更易读,但在某些数学运算和聚合场景下,reduce()能提供更简洁的表达方式。原创 2025-04-07 20:51:22 · 254 阅读 · 0 评论 -
Python高阶函数-filter
使代码更声明式提高内存效率方便组合多个操作提升复杂过滤逻辑的可读性。原创 2025-04-07 20:45:33 · 389 阅读 · 0 评论 -
Python高阶函数-map
map()是 Python 中一个强大的高阶函数,它提供了一种简洁的方式来对可迭代对象中的每个元素应用函数。虽然列表推导式在简单情况下可能更易读,但map()在处理复杂操作或已有命名函数时非常有用,并且具有惰性求值的优势。原创 2025-04-07 20:36:52 · 469 阅读 · 0 评论 -
为什么我们GC后后内存没有降低
理解Python内存管理的这些特性有助于编写更高效、内存友好的代码,并正确解释内存使用现象。原创 2025-04-06 21:00:32 · 379 阅读 · 0 评论 -
深入理解Python元组:从基础到高级应用
不可变序列:元组(tuple)是Python内置的不可变序列类型异构容器:可以存储不同类型的数据(与列表类似)语法特征:使用圆括号()定义,元素间用逗号分隔# 基本示例t1 = (1, 2, 3) # 标准元组t2 = 1, 2, 3 # 省略括号写法(称为"元组打包")t3 = (42,) # 单元素元组(必须加逗号)t4 = () # 空元组。原创 2025-04-05 21:49:56 · 359 阅读 · 0 评论 -
Python列表(List)深度解析
列表(List)是Python中最基础且强大的数据结构之一,但它的底层实现和特性远比表面看起来复杂。本文将深入探讨列表的各个方面。1.2 异构容器2. 底层实现原理Python列表实际上是动态数组的实现,其关键特性:3. 时间复杂度分析操作时间复杂度说明索引/取值O(1)直接计算内存偏移追加(append)平均O(1)可能触发扩容插入(insert)O(n)需要移动元素删除(del/pop)O(n)需要移动元素包含判断(in)O(n原创 2025-04-04 23:14:16 · 658 阅读 · 0 评论