我很少写像
这样的东西from blqblq.lqlqlqlq.bla import fobarbazbarbarbazar as foo
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
超过80个字符。 official Python coding style guide中未涵盖此情况。我如何写python这样的导入?
答案 0 :(得分:28)
http://www.python.org/dev/peps/pep-0008/#maximum-line-length
Python标准库是保守的,需要限制 行到79个字符(和docstrings / comments到72)。
包装长行的首选方法是使用Python的暗示 括号,括号和括号内的行继续。排长龙 可以通过包装表达式来分解多行 括弧。这些应该优先使用反斜杠 换行。
所以在你的情况下,这可能是:
from blqblq.lqlqlqlq.bla import (
fobarbazbarbarbazar
as foo)
from matplotlib.backends.backend_qt4agg import (
FigureCanvasQTAgg
as FigureCanvas)
就我个人而言,我总是使用这种风格,我觉得它更具有长线可读性:
# Just 1 indent
from blqblq.lqlqlqlq.bla import (
fobarbazbarbarbazar
as foo
) # end at the next line so it's always clear where what ends
from matplotlib.backends.backend_qt4agg import (
FigureCanvasQTAgg as FigureCanvas
)
答案 1 :(得分:9)
这是长 导入的PEP8
documentation:
目前,如果要从模块中导入大量名称或 包,你必须选择几个令人不快的选择之一:
用反斜杠连续写一个长行:
from Tkinter import Tk, Frame, Button, Entry, Canvas, Text, \
LEFT, DISABLED, NORMAL, RIDGE, END
编写多个导入语句:
from Tkinter import Tk, Frame, Button, Entry, Canvas, Text
from Tkinter import LEFT, DISABLED, NORMAL, RIDGE, END
(import *不是一个选项; - )
相反,应该可以使用Python的标准分组 机制(括号)写入import语句:
from Tkinter import (Tk, Frame, Button, Entry, Canvas, Text,
LEFT, DISABLED, NORMAL, RIDGE, END)
该提案的这一部分从一开始就获得了BDFL的批准。
在Python 2.4中添加了括号支持。