패키지 실제로 위의 일부 예에서는 다양한 패키지 이름이 생성되었습니다. 세부 사항을 주의 깊게 관찰할 수 있습니다. 처음에 모듈 소개에서 언급했듯이 모듈을 사용하면 함수 이름과 변수 이름 간의 충돌을 피할 수 있습니다. 동일한 이름을 가진 함수와 변수는 서로 다른 모듈에 존재할 수 있으므로, 우리가 직접 모듈을 작성할 때 이름이 다른 모듈과 충돌할 것이라는 점을 고려할 필요가 없습니다. 하지만 내장된 함수 이름과 충돌하지 않도록 주의하세요. 그런데 여기에도 문제가 있습니다. 서로 다른 사람이 작성한 모듈 이름이 동일하다면 어떻게 될까요? 모듈 이름 충돌을 피하기 위해 Python에서는 패키지라고 하는 디렉터리별로 모듈을 구성하는 방법을 도입했습니다.
예를 들어 초기 예시에서는 이렇게 패키지를 소개합니다. 동일한 모듈 이름이 있어도 패키지 이름이 다르면 실제로는 경로가 다르기 때문에 중복이 발생하지 않습니다. 아래 그림과 같이 패키지 이름이 소개된 후 lname.py는 실제로 com.Learn.module.nameattributes.lname
주의 깊게 관찰하는 사람들은 기본적으로 각 패키지 디렉토리 아래에 __init__이 있음을 알 수 있습니다. py 파일, 왜?
이 파일이 필요하기 때문에 그렇지 않으면 Python은 이 디렉터리를 패키지가 아닌 일반 디렉터리로 처리합니다. __init__.py는 빈 파일이거나 Python 코드를 포함할 수 있습니다. __init__.py 자체가 모듈이고 해당 모듈 이름이 패키지 이름이기 때문입니다.