地址见: 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开发者,一般来说:
Python官方包也不算多
浸淫久了,自然耳濡目染耳熟能详,一般不会去重名(虽然理论上会)
用Python久了,导入哪个官方包,脑袋就会如同肌肉记忆一样
Linux
autojump
답변은 다음과 같습니다.
모듈을 다른 모듈에서 _으로 가져오는 이유는 무엇입니까?
간단한 예로 모듈 a와 b가 있다고 가정해 보겠습니다.
으아악또한 동일한 디렉토리에 있는 b.py 모듈은 다음과 같습니다.
으아악b에서는 os 또는 _os를 사용할 수 없습니다. os가 a.py에 직접 도입되면 b.py에서 os를 사용할 수 있습니다.
일반적으로 보면 사실 좀 불필요한 부분도 있지만, 사용자가 정의한 패키지나 클래스, 함수의 이름이 표준 라이브러리의 이름과 같은 경우도 있지만 개발자들은 일반적으로 이를 기피합니다.
한 가지 가능성은 이 코드를 참조하는 파일에서 이 코드 가져오기의 내용을 숨기는 것입니다. 예를 들어, main.py가 이 파일을 가져오는 경우 이러한 표준 라이브러리 함수를 main.py에서 직접 호출할 수 없습니다. 예를 들어, copy.copy()는 직접 사용할 수 없으며 그렇게 해야 할 수도 있습니다.