本章将分享一些python的高级特性,这对于掌握python这门语言是至关重要的。 这就好比武侠小说里的情节,一个人在修炼一种绝世武功,已经到了最紧要的关头, 一旦打开任督二脉,就可以天下无敌了。
分享如下内容:
- 三元表达式
- 封包与解包
- 一切皆对象
callable
with
语句- 生成式
- 生成器
- 三个实例带你了解生成器的作用
- 迭代器
- 自省
本章将分享一些python的高级特性,这对于掌握python这门语言是至关重要的。 这就好比武侠小说里的情节,一个人在修炼一种绝世武功,已经到了最紧要的关头, 一旦打开任督二脉,就可以天下无敌了。
分享如下内容:
callable
with
语句迭代器是一个表示数据流的对象;这个对象每次只返回一个元素。 迭代器的一个优点就是它不要求事先准备好整个迭代过程中所有的元素。 迭代器仅仅在迭代至某个元素时才计算该元素,而在这之前或之后,元素可以不存在或者被销毁。 这个特点使得它特别适合用…
2023-07-1
列表是一个很有用的数据结构,它在Python中属于可变对象,列表中的元素没有限制, 可以重复可以嵌套, 操作上支持对单个元素的读取和修改,还支持分片、排序、插入、删除 等。 由于其灵活性,在实际应用中经常会看到它的身影。下面的程序遍历列表…
2023-12-27
生成器是一个相对较新的Python概念。 由于历史原因,它也被称为简单生成器(simple generator)。 生成器和迭代器可能是近年来引入的最强大的功能, 但生成器是一个相当复杂的概念,可能需要花些功夫才能明白其工作原理和用途。 …
2023-06-22
itertools 模块 itertools 模块包含很多常用的迭代器以及用来组合迭代器的函数。 这个模块实现一系列 iterator ,这些迭代器受到APL,Haskell 和 SML 的启发里的函数大致可以分为几类: 已有的迭代器…
2025-03-12
列表推导式 列表推导式是颇具python风格的一种写法。这种写法除了高效,也更简短。 enumerate() 是内建函数,可以让列表获得“下标”的属性。 而如果不用列表推导式,上例需要这么写: 迭代器 迭代器属于一个临时区,安排一些元素在…
2022-03-23
学习各种魔法方法后,该付诸应用了。本节将演示如何使用生成器来解决一个经典的编程问题。 生成器的回溯 对于逐步得到结果的复杂递归算法,非常适合使用生成器来实现。要在不使用生成器的情况下实现这些算法, 通常必须通过额外的参数来传递部分结果,让…
2024-04-5
正常情况下,当定义了一个 class ,创建了一个 class 的实例后, 可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。 看下面一种常见的 get/set 操作。 它的动态属性是怎么来的呢?其实,它真正的过程是这样的。 由此可…
2025-03-24
@property 装饰器其实有点无聊,单独拿出来作为一个知识点其实没必要,尽管它可以将方法变成属性, 让 get 和 set 方法更好用,但是,它破坏了python的简洁(不是代码的简洁而是指语法上)。 下面来说明为什么它破坏了pyth…
2023-06-30
其实对于大部分Python程序员而言,迭代器的概念可能并不熟悉。但这很正常,与C++等语言不同, Python的迭代器集成在语言之中,与语言完美地无缝集成,不像C++中那 样需要专门去理解这一个概念。 比如,要遍历一个容器,Python代…
2023-12-27
生成器.顾名思义,就是按一定的算法生成一个序列,比如产生自然数序列、斐波那契数列等。 之前讲迭代器的时候,就讲过一个生成波那契数列的例子。那么迭代器也是生成器?其实不然。 迭代器虽然在某些场景表现得像生成器,但它绝非牛成器;反而是生成器实…
2023-12-27
在前文中,对生成器实现协程卖了个小关子,在这一节,将会揭开谜底。 不过在此之前,需要先重温一下协程的概念,以及它的意义。 协程的概念 协程,又称微线程和纤程等,据说源于Simula和Modula-2语言, 现代编程语言基本上都支持这个特性…
2023-12-27
为了方便学习Python语言,基于Jupyter技术栈搭建了在线计算环境。 用户使用时以网页形式打开,对照书中内容进行学习,在线编写代码和运行代码,代码的运行结果也会直接显示。如在编程过程中需要编写说明文档,可在同一个页面直接编写,便于作及时的说明和解释。
在数据科学、机器学习及深度学习的领域里,Jupyter是一个强大的工具,它集成了代码编写、可视化展示、文档记录等多种功能于一体,让科学计算变得既直观又高效。 随着数据科学和人工智能领域的不断发展,Jupyter 也在不断更新和完善其功能和性 能。 未来可以期待看到更多创新的特性和工具被加入到 Jupyter 中,从而进一步推动科学计算和数据分析的发展。