在閱讀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,) 這樣導入模組時, 括號的意義是什麼?
仅有的幸福2017-05-18 10:51:54
這是一種編碼規範,始於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
PHPz2017-05-18 10:51:54
個人理解:
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