ホームページ  >  に質問  >  本文

python - 一py文件中的中关于import的疑问?

描述问题

地址见: autojump-中的import (第86-90行)

摘录部分如下(line: 86-90)

import copy as _copy
import os as _os
import re as _re
import sys as _sys
import textwrap as _textwrap

from gettext import gettext as _

为什么要将系统包重命名那样,不是多此一举么?

我的理解, 作为Python开发者,一般来说:

  1. Python官方包也不算多

  2. 浸淫久了,自然耳濡目染耳熟能详,一般不会去重名(虽然理论上会)

  3. 用Python久了,导入哪个官方包,脑袋就会如同肌肉记忆一样

上下文环境

  1. Linux

  2. autojump

高洛峰高洛峰2741日前924

全員に返信(2)返信します

  • 天蓬老师

    天蓬老师2017-04-18 09:35:31

    答えは次のとおりです:

    モジュールが別のモジュールに _ としてインポートされるのはなぜですか?

    簡単な例として、モジュール a と b があるとします。

    リーリー

    また、同じディレクトリにあるモジュール b.py は次のとおりです:

    リーリー

    b では os または _os を使用できません。 os を a.py に直接導入すると、b.py で os を使用できます。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:35:31

    • 一般的に言えば、確かに少し不要ですが、ユーザー定義のパッケージ、クラス、関数の名前が標準ライブラリの名前と同じである場合がありますが、開発者は通常これを避けます。

    • 1 つの可能性は、このコードを参照するファイルからこのコードのインポートの内容を隠すことです。たとえば、 main.py がこのファイルをインポートする場合、これらの標準ライブラリ関数を main.py で直接呼び出すことはできません。たとえば、copy.copy() は直接使用できず、そうする必要がある場合があります。

    返事
    0
  • キャンセル返事