Bootstrap

建筑兔零基础自学python记录30|实战词云可视化项目——分人物阵营词云(下)8

    上次我们解读了前半部分代码,这次我们继续来看后面的部分~建筑兔零基础自学python记录29|实战词云可视化项目——分人物阵营词云(上)7-CSDN博客

    补充:上次我们是用中国地图作为地图生成的词云,审核图就直接挂了。重新传了才成功的。看来是涉及到了敏感信息,下次不用chinamap作为底图了。

    之前我们已经看过两个class定义的内容很像,我们直接来对比下两边代码,左边为尚未解读的代码而右边是已经解读的代码:

#对比内容的网址 https://www.littlediffer.com/

 

   可以看到左边代码主要多的是def get_color_func(self, word)部分,主要目的是把词语指定为单色single color。具体解读:

举例:绿色-孔明、关公

举例:孔明-绿色、关公-绿色

(1)“try except”异常处理

“try except” 是编程中用于异常处理的关键字组合。try 放置可能会引发异常的代码,except 块用于捕获并处理这些异常。

(2)next( )迭代器中获取下一个元素

next(iterator[, default])
  • iterator:必需参数,代表一个迭代器对象。
  • default:可选参数。如果指定了该参数,当迭代器耗尽(即没有更多元素可供返回)时,next() 函数会返回这个默认值,而不会抛出 StopIteration 异常。如果未指定该参数,当迭代器耗尽时,next() 函数会抛出 StopIteration 异常

 

    def __call__(self, word, **kwargs):
        return self.get_color_func(word)(word, **kwargs)
  • 定义call,输入词、任意参数(**kwargs是可变关键字参数)
  • 调用 get_color_func 根据输入的单词 word 来获取对应的颜色函数。
  • (word, **kwargs):调用颜色函数,将 word**kwargs 作为参数传递给颜色函数,颜色函数会根据自身的逻辑为单词分配颜色,并返回分配的颜色值。

 

让我们来看一下整段代码究竟在干嘛:

 整段代码解读完毕。解读中会发现代码是把人与人之间交流较快的事情,拆开了一步步的完成。出现不理解的代码往往是大脑思维省略了中间的步骤。这也是现阶段我们遇到最长的代码了,努力逐行解读理解,让我们继续学习!

 

;