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
相關文章:
