python - 使用from XXX import (XXX, XXX, XXX,) 导入模块时, 括号()的意义何在?
问题描述
在阅读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,) 这样导入模块时, 括号的意义是什么?
问题解答
回答1:这是一种编码规范,始于PEP 328。在不加括号时,需要在换行的时候,行末要么加上反斜杠,如下所示:
from xxx import aaa, bbb, ccc
要么每一行都写一遍from xxx import yyy:
from xxx import aaafrom xxx import bbbfrom xxx import ccc
有了括号就可以在括号内随意换行:
from xxx import ( aaa, bbb, ccc,)
参见PEP328
回答2:个人理解:
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
相关文章: