根据google风格的guid进行多个导入

2024-04-28 14:44:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我不明白Google Python Style Guide about multiple imports per line写的是什么。在

这样做行吗(根据谷歌风格指南):

from wagtail.wagtailimages.blocks import ImageChooserBlock, EmbedBlock

或者我必须这样写:

^{pr2}$

谢谢。在


Tags: fromimportstyle风格googleline指南multiple
3条回答

如果在链接的样式指南中,单击“导入格式”部分下的直角三角形,则会得到一些正反两个示例。这是一个积极的例子:

import foo
from foo import bar
from foo.bar import baz
from foo.bar import Quux
from Foob import at

如您所见,从单个模块foo.bar导入了两个项目,它们分别列在不同的行中。在

所以在你的两个例子中,Google风格指南希望你使用第二行。请注意,我并不是说这是你真正应该做的,只是谷歌风格的指南说你应该这么做,这似乎是你的问题。在

另一方面,Python Style Guidelines for The Chromium Projects,显然也是由谷歌提供的

  • It is OK to import packages, modules, and things within a module.  This is mentioned solely because it contradicts the section on imports in the Google Style Guide (which, remember, is not an authority for Chromium OS).
    • Said another way, this is completely OK: from subprocess import Popen, PIPE

这个例子,声明是好的,在一行中从一个模块导入多个项目。所以你要选择你的权威。在

第一条路当然可以。没有人做第二个选择,那将是难以置信的浪费。您不应该在同一行中导入多个不同的模块,但是您的第一个示例是从单个模块获取多个属性。在

使用第一个。

from wagtail.wagtailimages.blocks import ImageChooserBlock, EmbedBlock

要导入多个成员,可以使用括号并添加一些新行。下面是一个例子:

^{pr2}$

请注意区别:

不应在一行中导入多个模块:

import os, sys, platform    # DO NOT DO THIS!

但是导入多个成员就可以了:

from math import sin, cos

提示:签出isort

相关问题 更多 >