Pythonic编写长导入语句的方法

Max*_*fer 2 python django python-import

什么是从Django中的模型(或表单或视图)导入的pythonic方法?

坦率地说,坦率地说:

from myapp.models import foo, bar, foobar, barfoo, foofoo, barbar, barfoobar, thelistgoeson, and, on, andon...
Run Code Online (Sandbox Code Playgroud)

它远远超过最多79个字符 - 但更好的方法是什么?

mu *_*u 無 7

使用括号将导入组合在一起:

from myapp.models import (foo, bar, foobar, barfoo, foofoo,
    barbar, barfoobar, thelistgoeson, and, on, and, so, on)
Run Code Online (Sandbox Code Playgroud)

这符合PEP-328括号的基本原理:

目前,如果要从模块或包中导入大量名称,则必须选择以下几个令人不快的选项之一:

  • 用反斜杠连续写一个长行:
  • 写多个import语句:

(import *不是一个选项;-)

相反,应该可以使用Python的标准分组机制(括号)来编写import语句:

这部分提案从一开始就获得了BDFL的批准.

Python 2.4中添加了括号支持.

  • 我将各种名称放在不同的行上并对它们进行排序.这样,添加或删除名称在diff中更加清晰. (7认同)