python - 使用from XXX import (XXX, XXX, XXX,) 导入模块时, 括号()的意义何在?
世界只因有你
世界只因有你 2017-05-18 10:49:54
[Python讨论组]

在阅读django源码时发现, 在import模块时总会添加上括号, 例如:

from django.core.exceptions import (
    DisallowedHost, ImproperlyConfigured, RequestDataTooBig,
)

from django.utils.encoding import (
    escape_uri_path, force_bytes, force_str, force_text, iri_to_uri,
)

请教下 from XXX import (XXX, XXX, XXX,) 这样导入模块时, 括号的意义是什么?

世界只因有你
世界只因有你

全部回复(2)
仅有的幸福

这是一种编码规范,始于PEP 328。在不加括号时,需要在换行的时候,行末要么加上反斜杠,如下所示:

from xxx import aaa, bbb, \
    ccc

要么每一行都写一遍from xxx import yyy

from xxx import aaa
from xxx import bbb
from xxx import ccc

有了括号就可以在括号内随意换行:

from xxx import (
    aaa,
    bbb,
    ccc,
)

参见PEP328

PHPz

个人理解:

from django.core.exceptions import (
DisallowedHost, ImproperlyConfigured, RequestDataTooBig
)

等效

from django.core.exceptions import DisallowedHost;
from django.core.exceptions import ImproperlyConfigured;
from django.core.exceptions import RequestDataTooBig;

语法看上去简洁些,一眼看上去就知道哪些方法是从一个模块中导入的。 也是习惯问题吧,仁者见仁智者见智。个人写着舒服就OK

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号