首頁  >  問答  >  主體

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,) 這樣導入模組時, 括號的意義是什麼?

世界只因有你世界只因有你2711 天前1079

全部回覆(2)我來回復

  • 仅有的幸福

    仅有的幸福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

    回覆
    0
  • PHPz

    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

    回覆
    0
  • 取消回覆