Python 에서 모듈 과 가방 의 개념

2549 단어 python
전송:http://blog.csdn.net/huangkangying/article/details/32348665
Table of Contents
  • 1 모듈 (Module) 과 패키지 (Package)
  • 1.1 네 임 스페이스 (Namespace)
  • 1.2 모듈 (모듈)
  • 1.3 팩 (패키지)

  • 1 모듈 (Module) 과 패키지 (Package)
    1.1 네 임 스페이스 (Namespace)
    Python 에 서 는 모든 것 이 대상 (Object) 이기 때문에 Module 과 Package 를 잘 이해 하려 면 반드시 Namespace 의 개념 을 이해 해 야 합 니 다. Namespace 라 는 것 은 지표 표시 자 에 보 이 는 범위 입 니 다. Python 에 게 흔히 볼 수 있 는 Namespace 는 주로 다음 과 같은 몇 가지 가 있 습 니 다.
  • Build - in Namespace (내장 네 임 스페이스)
  • Global Namespace (전역 네 임 스페이스)
  • Local Namespace (국부 명칭 공간)
  • 네 임 스페이스 라 는 개념 이 있 습 니 다. 함수 나 변수 이름 을 바 꾸 는 문 제 를 효과적으로 해결 할 수 있 습 니 다. 서로 다른 네 임 스페이스 에 서 는 같은 함수 이름 이나 변수 이름 이 나타 날 수 있 습 니 다. 서로 영향 을 주지 않 습 니 다. 예 를 들 어 네 임 스페이스 A 와 B 에 서 는 var 라 는 변수 가 동시에 있 습 니 다. A. var 에 대한 할당 은 B. var 의 값 을 바 꾸 지 않 습 니 다.
    1.2 모듈 (모듈)
    Python 의 한 Module 에 대응 하 는 것 은. py 파일 입 니 다. 그 중에서 정 의 된 모든 함수 나 변 수 는 이 Module 에 속 합 니 다. 이 Module 은 모든 함수 에 있어 서 하나의 전역 적 인 네 임 스페이스 에 해당 합 니 다. 모든 함수 에는 자신의 부분 적 인 네 임 스페이스 가 있 습 니 다.
    # test.py 
    '''
    This is only a test module
    '''
    age = 0
    
    def printHello():
      print "Hello, world!"
    
    if __name__ == '__main__':
       printHello()
    

    우 리 는 이렇게 이 module 을 사용 할 수 있 습 니 다. t 를 test 의 별명 으로 사용 할 수 있 습 니 다.
    >>> import test as t
    >>> t.age
    0
    >>> t.age = 1
    1
    >>> t.printHello()
    Hello, world!
    >>> print t.__doc__
    This is only a test module
    

    물론 우리 도 이렇게 사용 할 수 있다.
    >>> form test import *
    >>> age
    0
    >>> printHello()
    

    ' main' 의 조건 판단 에 주의 하 셔 야 합 니 다. 모든 module 에는 name 의 속성 이 있 기 때문에 이 module 을 직접 실행 할 때 만 name 속성 은 main 와 같 습 니 다. import 되 었 을 때 는 완전히 존재 하지 않 는 다 고 생각 하 셔 도 됩 니 다.
    1.3 패키지 (패키지)
    패키지 란 module 의 집합 입 니 다.. py 파일 한 무더기 입 니 다. 다음 과 같은 방식 으로 패 키 지 를 만 들 수 있 습 니 다.
  • 새 folder 이름 은 test
  • 입 니 다.
  • test 폴 더 아래 빈 init. py 파일 을 새로 만 듭 니 다.
  • test 폴 더 아래 에 py 파일 을 새로 만 들 었 습 니 다. 이름 은 a. py
  • 입 니 다.
    # a.py
    def sayHello():
      print "Hello, world!"
    
    >>> import test.a as t
    >>> t.sayHello()
    Hello, world!
    

    Package 는 module 를 잘 관리 하 는 방식 을 제공 하여 module 의 이름 인 conflict 를 효과적으로 줄 이 고 좋 은 트 리 구 조 를 유지 할 수 있 습 니 다.

    좋은 웹페이지 즐겨찾기