Python有自己的垃圾回收机制(GC), 因此, 不必像C和C++程序员一样谨慎小心的使用内存,但这并不意味着可以不关心内存。 了解Python对内存的管理,有助于优化程序性能。
了解了深拷贝与浅拷贝的区别,理解可变对象与不可变对象, 才不会在写代码时留下难以发现的bug, 变量的引用是非常重要的概念, 理解引用是理解Python内存管理的关键。
Python有自己的垃圾回收机制(GC), 因此, 不必像C和C++程序员一样谨慎小心的使用内存,但这并不意味着可以不关心内存。 了解Python对内存的管理,有助于优化程序性能。
了解了深拷贝与浅拷贝的区别,理解可变对象与不可变对象, 才不会在写代码时留下难以发现的bug, 变量的引用是非常重要的概念, 理解引用是理解Python内存管理的关键。
Python中一切皆对象,每一个对象都有一个唯一的标示符( id() )、类型( type() )以及值。 对象根据其值能否修改分为可变对象和不可变对象,其中数字、字符串、元组属于不可变对象, 字典以及列表、宇节数组属于可变对象3而“...
2025-04-25
在内存中创建了一个对象,这时,无法直接使用它,将这个对象赋值给一个变量, 这之后,就可以通过这个变量来操作这个对象了,这就相当于给这个对象起一个名字一样。 变量,只是内存中对象的引用,这个变量指向了内存中的对象。所谓变量的内存地址, ...
2025-04-17
在 Python 中,== 和 is 是两种完全不同的比较操作符,误用它们可能导致逻辑错误或性能问题。 以下是它们的核心区别与适用场景: 判断两个字符串是否相等 在判断两个字符串是否相等的时候,混用 is 和 == 是很多初学者经常犯...
2025-04-14
在正式讨论本节内容之前先来了解一下浅拷贝和深拷贝的概念: 浅拷贝(shallow copy ):构造一个新的复合对象并将从原对象中发现的引用插入该对象中。 浅拷贝的实现方式有多种,如工厂函数数、切片操作、 copy 模块中的 cop...
2025-04-17
看到一篇文章,说用Python的 __slots__节省9G内存,于是想测试下,对单个类,用__slots__节省内存效果会不会明显。 __slots__ 了解一下 __slots__。 上述代码可以看到,python为对象 a 分配...
2025-04-17
在Python中,所有所谓的变量,其实都是名字,这些名字指向一个或多个Python对象。 比如以下代码: 从中可以看出,名字 a 和 b 指向同一个Python对象,即一个 int 类型的对象, 这个对象的值为 1 ;而 c 则指向另...
2025-04-17
Python底层是用C语言实现的,但切忌用C语言的思维和风格来编写 Python代码。 对于那些在学习Python之前有其他编程语言(如Java、C#等)经验的程序员 来说, 尤其重要的是:不要使用之前的编程思想。 Python与它们...
2025-04-17
Lazy evaluation 常被译为“延迟计算”或“惰性计算",指的是仅仅在真正需要执行的时候才计算表达式的值。 充分利用 Lazy evaluation 的特性带来的好处主要体现在以下两个方面: 避免不必要的计算,带来性能上的提...
2025-04-17
为了方便学习Python语言,基于Jupyter技术栈搭建了在线计算环境。 用户使用时以网页形式打开,对照书中内容进行学习,在线编写代码和运行代码,代码的运行结果也会直接显示。如在编程过程中需要编写说明文档,可在同一个页面直接编写,便于作及时的说明和解释。
在数据科学、机器学习及深度学习的领域里,Jupyter是一个强大的工具,它集成了代码编写、可视化展示、文档记录等多种功能于一体,让科学计算变得既直观又高效。 随着数据科学和人工智能领域的不断发展,Jupyter 也在不断更新和完善其功能和性 能。 未来可以期待看到更多创新的特性和工具被加入到 Jupyter 中,从而进一步推动科学计算和数据分析的发展。