根据 google 风格指南进行多次导入
Multiple imports according to google style guide
我不明白Google Python Style Guide about multiple imports per line中写的是什么。
这样可以吗(根据 Google 风格指南):
from wagtail.wagtailimages.blocks import ImageChooserBlock, EmbedBlock
还是必须这样写:
from wagtail.wagtailimages.blocks import ImageChooserBlock
from wagtail.wagtailembeds.blocks import EmbedBlock
谢谢。
当然是第一种方式。没有人做第二种选择,那将是非常浪费的。您不应该在同一行导入多个不同的模块,但您的第一个示例是关于从单个模块获取多个属性。
如果在该链接的样式指南中单击 "Imports formatting" 部分正下方的右向三角形,您会得到一些正面和负面的例子。这是正面例子之一:
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 的 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
要导入多个成员,您可以使用括号并添加一些换行符。这是一个例子:
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
我不明白Google Python Style Guide about multiple imports per line中写的是什么。
这样可以吗(根据 Google 风格指南):
from wagtail.wagtailimages.blocks import ImageChooserBlock, EmbedBlock
还是必须这样写:
from wagtail.wagtailimages.blocks import ImageChooserBlock
from wagtail.wagtailembeds.blocks import EmbedBlock
谢谢。
当然是第一种方式。没有人做第二种选择,那将是非常浪费的。您不应该在同一行导入多个不同的模块,但您的第一个示例是关于从单个模块获取多个属性。
如果在该链接的样式指南中单击 "Imports formatting" 部分正下方的右向三角形,您会得到一些正面和负面的例子。这是正面例子之一:
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 的 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
要导入多个成员,您可以使用括号并添加一些换行符。这是一个例子:
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