首页 » 技术教程 » 话题展开讨论,到底好在哪里?该怎么使用?(图)

话题展开讨论,到底好在哪里?该怎么使用?(图)

 

国外苹果ID/美日韩台、新加坡、香港等——点击购买
韩国区已过年龄认证17+ 19+ 的苹果id游戏应用下载
日本区苹果商店_国外苹果ID/美日韩台新加坡等
独享美区ID小火箭账号----点击购买
正版苹果商店礼品卡、软件兑换码——点击购买

很经典的一本书,作者大卫,有20多年的从业经历,加上他超强的文笔,值得一看。

它的翻译版本也很多,其中最好的版本是翻译的。今天检查翻译作者,为华为工作。当然,最重要的是书的内容不错。相信很多粉丝更喜欢这种根据一个小话题来讨论的方式。

要想看懂这本书的主题,还是需要有一定的基础,不适合纯白的。让我们来谈谈这本书,它有什么好的,以及如何使用它。

这是它的总体大纲目录,共十五章,分别讨论:数据结构、字符串、数字、迭代器和生成器、文件和IO、函数、类、模块、网络编程、并发和测试。

python书籍电子版_python进阶书籍_python三本经典书籍

这些是书中最核心的知识模块。原书作者大卫个人建议,在解决实际问题时,应优先考虑内置模块是否能解决问题。

那么这本书有什么好的呢?分话题讨论python书籍电子版,每个话题都够简洁python书籍电子版,不废话。最大限度地从实际应用中总结出每个知识点,比如题目中:保留最后N个元素的时候,写出来的代码很漂亮:

from collections import deque

def search(lines, pattern, history=5):
    previous_lines = deque(maxlen=history)
    for line in lines:
        if pattern in line:
            yield line, previous_lines
        previous_lines.append(line)

# Example use on a file
if __name__ == '__main__':
    with open(r'../../cookbook/somefile.txt'as f:
        for line, prevlines in search(f, 'python'5):
            for pline in prevlines:
                print(pline, end='')
            print(line, end='')
            print('-' * 20)

保留有限的历史是 .deque 发挥作用的时候。难得作者会简单分析一下上面的代码:

在编写查询元素的代码时,我们通常使用包含 yield 表达式的生成器函数,如上面的示例代码所示。这将搜索过程代码与使用搜索结果的代码分离

让我们真正了解什么是真正的好,内置的模块真的很强大。

另一个例子是当作者讨论寻找最大或最小 N 个元素的话题时。从表面上看,这是一个非常简单的话题。其实,要想综合考虑,还需要注意一些事情。作者讨论:

前两种情况的解决方法相信大家都很熟悉了。第三个使用内置模块heapq,也就是算法中的堆结构。常见的大根堆和小根堆,

>>> nums = [182237-4182342372]
>>> import heapq
>>> heap = list(nums)
>>> heapq.heapify(heap)
>>> heap
[-4212372182342378]
>>>

中间之后,默认创建一个小的根堆。它最重要的特点是 heap[0] 总是最小的元素。

python三本经典书籍_python进阶书籍_python书籍电子版

例如,如果你想找到最小的 3 个元素,你可以这样做。第一次执行后,下一个最小的元素变成最小的,如下图所示:

>>> heapq.heappop(heap)
-4

python进阶书籍_python书籍电子版_python三本经典书籍

再次执行两次后,可以得到链表的前三个最小元素为[-4,1,2],此时的小根堆如下图所示:

>>> heapq.heappop(heap)
1
>>> heapq.heappop(heap)
2

python进阶书籍_python书籍电子版_python三本经典书籍

当然,你也可以直接用它来获取前几个最小值。

此外,本书还有很多有趣实用的知识,值得我们认真学习。以下是第一张纸中讨论的 20 个主题:

python三本经典书籍_python进阶书籍_python书籍电子版

如果你对解压可迭代对象并将其赋值给多个变量不是很了解,建议下载这本电子书并花时间学习。这本书的电子版也是目前最好的。

下载方法如下,关注小例子并回复

python三本经典书籍_python进阶书籍_python书籍电子版

小例子,长按关注

国外苹果ID/美日韩台、新加坡、香港等——点击购买
韩国区已过年龄认证17+ 19+ 的苹果id游戏应用下载
日本区苹果商店_国外苹果ID/美日韩台新加坡等
独享美区ID小火箭账号----点击购买
正版苹果商店礼品卡、软件兑换码——点击购买

原文链接:话题展开讨论,到底好在哪里?该怎么使用?(图),转载请注明来源!

0