Python 3 사용자 정의 모듈 가 져 오 는 세 가지 방법 상세 설명

앞 말
최근 에 류 설 봉 의 튜 토리 얼 을 따라 모듈 이라는 절 을 배 웠 다.모듈 을 어떻게 사용자 정의 하 는 지 에 대해 모 르 시 면 기본 적 인 소 개 를 먼저 보 세 요.
모듈
컴퓨터 프로그램의 개발 과정 에서 프로그램 코드 를 많이 쓸 수록 한 파일 에서 코드 가 길 어 지고 유지 하기 가 쉽 지 않다.
유지 가능 한 코드 를 만 들 기 위해 서 우 리 는 많은 함 수 를 그룹 으로 나 누 어 각각 다른 파일 에 넣 습 니 다.그러면 모든 파일 에 포 함 된 코드 가 상대 적 으로 적 고 많은 프로 그래 밍 언어 는 이러한 조직 코드 방식 을 사용 합 니 다.Python 에서 하나의.py 파일 을 모듈(Module)이 라 고 합 니 다.
모듈 을 사용 하면 어떤 좋 은 점 이 있 습 니까?
가장 큰 장점 은 코드 의 유지 가능성 을 크게 향상 시 켰 다 는 것 이다.그 다음 에 코드 를 작성 할 때 0 부터 시작 할 필요 가 없습니다.모듈 이 완성 되면 다른 곳 에서 인용 할 수 있 습 니 다.우 리 는 프로그램 을 작성 할 때 Python 에 내 장 된 모듈 과 제3자 모듈 을 포함 한 다른 모듈 도 자주 참조 합 니 다.
모듈 을 사용 하면 함수 이름과 변수 이름 의 충돌 을 피 할 수 있 습 니 다.같은 이름 의 함수 와 변 수 는 서로 다른 모듈 에 존재 할 수 있 기 때문에 우 리 는 모듈 을 작성 할 때 이름 이 다른 모듈 과 충돌 하 는 것 을 고려 할 필요 가 없습니다.하지만 내 장 된 함수 이름과 충돌 하지 않도록 주의해 야 한다.파 이 썬 의 모든 내장 함 수 를 보 려 면 여 기 를 누 르 십시오.
다른 사람 이 만 든 모듈 이름 이 같 으 면 어 떡 하지?파 이 썬 은 모듈 이름 충돌 을 피하 기 위해 디 렉 터 리 별로 모듈 을 구성 하 는 방법 을 패키지(Package)라 고 도입 했다.
예 를 들 어 abc.py 파일 은 abc 라 는 모듈 이 고 xyz.py 파일 은 xyz 라 는 모듈 입 니 다.
이제 abc 와 xyz 라 는 두 모듈 의 이름 이 다른 모듈 과 충돌 했다 고 가정 하면 우 리 는 가방 을 통 해 모듈 을 구성 하여 충돌 을 피 할 수 있 습 니 다.방법 은 my copany 와 같은 최상 위 패키지 이름 을 선택 하여 다음 디 렉 터 리 에 저장 하 는 것 입 니 다.
mycompany
├─ __init__.py
├─ abc.py
└─ xyz.py
가방 을 도입 한 후 맨 위 에 있 는 가방 이름 이 다른 사람과 충돌 하지 않 는 다 면 모든 모듈 은 다른 사람과 충돌 하지 않 습 니 다.현재 abc.py 모듈 의 이름 은 my copany.abc 로 바 뀌 었 습 니 다.유사 한 xyz.py 모듈 이름 은 my copany.xyz 로 바 뀌 었 습 니 다.
모든 가방 디 렉 터 리 아래 에 가 있 습 니 다.init__.py 파일,이 파일 은 반드시 존재 해 야 합 니 다.그렇지 않 으 면 Python 은 이 디 렉 터 리 를 가방 이 아 닌 일반 디 렉 터 리 로 생각 합 니 다.init__.py 는 빈 파일 일 수도 있 고 Python 코드 가 있 을 수도 있 습 니 다.왜냐하면init__.py 자체 가 모듈 이 고 모듈 이름 은 my copany 입 니 다.
유사 한 것 은 다단 계 디 렉 터 리 가 있어 다단 계 패키지 구 조 를 구성 할 수 있다.예 를 들 어 다음 과 같은 디 렉 터 리 구조:
mycompany
 ├─ web
 │  ├─ __init__.py
 │  ├─ utils.py
 │  └─ www.py
 ├─ __init__.py
 ├─ abc.py
 └─ xyz.py
파일 www.py 의 모듈 이름 은 my copany.web.ww 이 고 두 파일 utils.py 의 모듈 이름 은 각각 my copany.utils 와 my copany.web.utils 이다.
스스로 모듈 을 만 들 때 는 파 이 썬 이 가지 고 있 는 모듈 이름과 충돌 하지 않도록 이름 을 주의해 야 합 니 다.예 를 들 어 시스템 이 sys 모듈 을 가지 고 있 으 면 자신의 모듈 을 sys.py 라 고 명명 할 수 없습니다.그렇지 않 으 면 시스템 이 가지 고 있 는 sys 모듈 을 가 져 올 수 없습니다.
my copany.web 도 하나의 모듈 입 니 다.이 모듈 에 대응 하 는.py 파일 을 지적 해 주 십시오.
작은 매듭
모듈 은 Python 코드 의 집합 으로 다른 모듈 을 사용 할 수도 있 고 다른 모듈 에서 도 사용 할 수 있 습 니 다.
자신의 모듈 을 만 들 때 주의:
  • 모듈 이름 은 Python 변수 이름 의 규범 에 따라 중국어,특수 문 자 를 사용 하지 마 십시오.
  • 모듈 명 은 시스템 모듈 명 과 충돌 하지 않 습 니 다.시스템 에 이 모듈 이 존재 하 는 지 먼저 확인 하 는 것 이 좋 습 니 다.검사 방법 은 Python 인 터 랙 션 환경 에서 import abc 를 실행 하 는 것 입 니 다.성공 하면 시스템 에 이 모듈 이 존재 한 다 는 것 을 설명 합 니 다.
  • 모듈 은 좋 은 물건 입 니 다.큰 소 들 이 오픈 소스 를 공유 하 는 많은 모듈 도 여러분 의 개발 속 도 를 가속 화 시 켰 습 니 다.많은 오픈 소스 모듈 은 여기 서↓를 찾 을 수 있 습 니 다.
    https://pypi.python.org/pypi
    처음 입문 한 모든 세부 사항 을 모 르 기 때문에 인터넷 에서 자 료 를 찾 았 을 때 여러분 의 튜 토리 얼 이 너무 간소화 되 어 저 는 이 풋내기 가 힘 들 어서 조작 에 성 공 했 습 니 다.
    그래서 여기 기록 해.
    시작 하 다
    직접 import
    여기 에는 py 실행 파일 과 모듈 이 같은 디 렉 터 리(부모 디 렉 터 리)에 속 한 다 는 큰 전제 가 있 습 니 다.다음 그림:
  • main.py 와 pwcong 모듈 은 python 디 렉 터 리 에 있 습 니 다
  • 실행 파일 은 main.py
  • 입 니 다.
  • pwcong 폴 더 는 모듈
  • 나 는 pwcong 모듈 이 제공 하 는 함 수 를 에 썼 다.init__.py 에서 안에 hi 함수 만 제공 합 니 다:
    
    # pwcong     __init__.py
    # -*- coding: utf-8 -*-
    def hi():
     print("hi")
    실행 파일 main.py 직접 import 모듈:
    
    # main.py
    # -*- coding: utf-8 -*-
    import pwcong
    pwcong.hi()
    이 어 main.py 를 실행 하면 명령 행 창 에서 hi 한 마디 를 출력 하고 첫 번 째 방식 으로 완성 하 는 것 을 볼 수 있 습 니 다.
    모듈 방식 을 사용 하면:먼저 가 져 오기->다음 에 모듈 을 입력 합 니 다.변수|함수,예 를 들 어 위의 Pwcong.hi()
    두 번 째,sys 모듈 을 통 해 사용자 정의 모듈 path 가 져 오기
    실행 파일 과 모듈 이 같은 디 렉 터 리 에 없 으 면 직접 import 는 사용자 정의 모듈 을 찾 을 수 없습니다.다음 그림:
  • 실행 파일 main.py 는 main 디 렉 터 리 아래
  • pwcong 모듈 은 python 디 렉 터 리 아래
  • sys 모듈 은 python 에 내장 되 어 있 기 때문에 사용자 정의 모듈 을 가 져 오 는 절 차 는 다음 과 같 습 니 다.
  • sys 모듈 먼저 가 져 오기
  • 그리고sys.path.append(path) 함 수 를 통 해 사용자 정의 모듈 이 있 는 디 렉 터 리 를 가 져 옵 니 다
  • 사용자 정의 모듈 가 져 오기
  • 이때 main.py 는 이렇게 썼 다.
    
    # main.py
    # -*- coding: utf-8 -*-
    import sys
    sys.path.append(r"C:\Users\Pwcong\Desktop\python")
    import pwcong
    pwcong.hi()
    마지막 으로 main.py 파일 을 실행 하고 최종 출력 hi,두 번 째 방식 으로 완성 합 니 다.
    세 번 째,pth 파일 을 통 해 사용자 정의 모듈 을 찾 습 니 다.
    이 방법 원 리 는 시스템 변 수 를 이용 하여 python 은 path 변수의 경 로 를 스 캔 하여 모듈 을 가 져 오고 시스템 path 에 추가 할 수 있 습 니 다.그래도 pth 파일 로 추가 하 는 것 을 추천 합 니 다.
    모듈 과 실행 파일 디 렉 터 리 구 조 는 위의 그림 과 같 습 니 다.
  • 실행 파일 main.py 는 main 디 렉 터 리 아래
  • pwcong 모듈 은 python 디 렉 터 리 아래
  • 우 리 는 module 를 만 듭 니 다.pwcong.pth 파일 의 내용 은 pwcong 모듈 이 있 는 디 렉 터 리 입 니 다.
    C:\Users\Pwcong\Desktop\python
    이 모듈 을pwcong.pth 파일 을 여기에 놓 습 니 다:
    python 설치 디 렉 터 리\Python 35\Lib\site-packages
    예 를 들 어 나의:

    그리고 main.py 는 사용자 정의 모듈 을 가 져 오고 사용 합 니 다.
    
    # -*- coding: utf-8 -*-
    import pwcong
    pwcong.hi()
    마지막 으로 main.py 파일 을 실행 하면 hi,세 번 째 방식 으로 출력 할 수 있 습 니 다.
    끝나다
    여기까지 사용자 정의 모듈 을 가 져 오 는 세 가지 방식 으로 밤 이 완성 되 었 습 니 다.제 가 상세 하 게 썼 겠 죠?)
    자,이상 이 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

    좋은 웹페이지 즐겨찾기