[英]Multiple imports according to google style guide
我不了解Google Python样式指南中关于每行多个导入的内容 。
这样可以吗(根据Google样式指南):
from wagtail.wagtailimages.blocks import ImageChooserBlock, EmbedBlock
还是我必须这样写:
from wagtail.wagtailimages.blocks import ImageChooserBlock
from wagtail.wagtailembeds.blocks import EmbedBlock
谢谢。
绝对第一种方法很好。 没有人会选择第二种方法,那将是非常浪费的。 您不应该在同一行上导入多个不同的模块,但是第一个示例是关于从单个模块获取多个属性的。
使用第一个。
from wagtail.wagtailimages.blocks import ImageChooserBlock, EmbedBlock
要导入多个成员,可以使用括号并添加一些换行符。 这是一个例子:
from OpenGL.GLUT import (GLUT_DEPTH, GLUT_DOUBLE, GLUT_RGB, glutCreateWindow,
glutDisplayFunc, glutInit, glutInitDisplayMode,
glutInitWindowSize, glutMainLoop, glutSwapBuffers)
请注意区别:
您不应该在一行中导入多个模块:
import os, sys, platform # DO NOT DO THIS!
但是导入多个成员就可以了:
from math import sin, cos
提示:查看isort
如果在该链接的样式指南中,单击“导入格式”部分下的向右三角形,则会得到一些正面和负面的例子。 这是积极的例子之一:
import foo
from foo import bar
from foo.bar import baz
from foo.bar import Quux
from Foob import at
如您所见,有两个项目是从单个模块foo.bar
导入的,它们在单独的行中列出。
因此,在您的两个示例中,《 Google风格指南》希望您使用第二行(分隔线)。 请注意,我并不是说这是您真正应该做的,只是显然Google样式指南说您应该这样做,这似乎是您的问题。
另一方面,显然Google也提供了《 The Chromium Projects的Python样式指南》 ,
- 可以在模块中导入包,模块和事物。 提及该文件仅是因为它与Google样式指南中的导入部分相抵触(请记住,该部分不是Chromium OS的授权)。
- 换句话说,这完全可以:
from subprocess import Popen, PIPE
可以确定,该示例确实从一行中的一个模块导入了多个项目。 因此,请选择您的权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.