首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写长导入语句的Pythonic方法

编写长导入语句的Pythonic方法
EN

Stack Overflow用户
提问于 2014-10-08 09:29:20
回答 2查看 336关注 0票数 2

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

坦率地说,我直截了当地这样做:

代码语言:javascript
复制
from myapp.models import foo, bar, foobar, barfoo, foofoo, barbar, barfoobar, thelistgoeson, and, on, andon...

它比79个字符的长度要长得多,但是有什么更好的方法来做到这一点呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-08 09:30:14

使用括号将您的导入分组到一起:

代码语言:javascript
复制
from myapp.models import (foo, bar, foobar, barfoo, foofoo,
    barbar, barfoobar, thelistgoeson, and, on, and, so, on)

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

目前,如果您想从一个模块或包中导入很多名称,那么您必须从以下几个令人不快的选项中选择一个:

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

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

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

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

将括号支持添加到Python2.4中。

票数 7
EN

Stack Overflow用户

发布于 2014-10-08 09:35:52

那么进口模型呢?

代码语言:javascript
复制
from myapp import models

foo = models.foo
bar = models.bar

它要短得多,您不需要维护一个进口列表。您还可以拥有一个名称空间,并且可以有名为foobar的局部变量。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26253545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档