pygal包中的maps里面没有World类,但是却能正常生成世界地图,这是什么原理啊?

import pygal

wm = pygal.maps.world.World()
wm.title = "North, Central, and South America"

wm.add('North America', ['ca'])
wm.add('Central America', ['bz', 'cr', 'gt', 'hn', 'ni', 'pa', 'sv'])
wm.add('South America', ['ar', 'bo'])

wm.render_to_file('americas.svg')

代码如上,我在输入wm = pygal.maps.之后发现pycharm不会提示后面的world,所以自动输入了相关代码,确实是可以生成地图文件。但是看了下world的提示,是没有找到这个文件的。

然后在pygal包里面去找,确实这个maps包是空的,但是程序又是能正常生成图片的,所以很疑惑,这个是怎么工作的。

这个world应该属于扩展模块,通过类PluginImportFixer中的load_model方法加载进来的。

__init__.py文件中有个类PluginImportFixer,专门干这个事。

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632