Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据谷歌风格指南进行多次导入_Python_Python Import_Google Style Guide - Fatal编程技术网

Python 根据谷歌风格指南进行多次导入

Python 根据谷歌风格指南进行多次导入,python,python-import,google-style-guide,Python,Python Import,Google Style Guide,我不明白上面写的是什么 (根据谷歌风格指南)这样做可以吗: 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 wagtail.wagtailimages.blocks import ImageChooserBlock
from wagtail.wagtailembeds.blocks import EmbedBlock

谢谢。

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

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

import foo
from foo import bar
from foo.bar import baz
from foo.bar import Quux
from Foob import at
如您所见,两个项目从单个模块导入
foo.bar
,并在单独的行中列出

因此,在您的两个示例中,《谷歌风格指南》希望您使用第二行——单独的行。请注意,我并不是说这是你真正应该做的,只是谷歌风格的指南说你应该做,这似乎是你的问题

另一方面,谷歌显然也是如此

  • 可以导入模块中的包、模块和内容。之所以提到这一点,完全是因为它与谷歌风格指南中关于导入的部分相矛盾(记住,谷歌风格指南不是Chromium操作系统的权威)。
    • 换句话说,这是完全可以的:
      从子流程导入Popen,PIPE

该示例(声明为OK)在一行中从一个模块导入多个项目。因此,请选择您的权限。

使用第一个权限。

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

提示:查看

为什么你需要成为谷歌的一切奴隶?根据Google Python风格指南,根据Google作为一个整体,或者根据其他程序员,你是在问“OK”吗?我的答案集中在前两个问题上,而到目前为止,其他答案只集中在最后一个问题上。如能得到您的澄清,我们将不胜感激。@RoryDaulton编辑。谢谢,谢谢。但看起来isort是根据PEP08工作的,在一行中多个导入不是问题。您可以用一个文件来配置它