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