[Python]モジュール

12380 ワード

🍔 モジュール
  • 関数または変数またはクラスを含むファイル
  • 他のPythonプログラム用Pythonファイル
  • 1.モジュールの作成

    # mod1.py
    def add(a, b):
        return a + b
    
    def sub(a, b): 
        return a-b
  • add、sub関数付きmod 1.pyファイルを現在のディレクトリ
  • に保存
  • mod1.pyはモジュール(**Python拡張子を使用しています.pyで作成されたすべてのPythonファイルはモジュールです)
  • 2.モジュールの読み込み


    importモジュール

    >>> import mod1    # import mod1.py로 입력하지 않도록 주의
    >>> print(mod1.add(3, 4))    # 모듈명.함수명
    7

    fromモジュールimport関数

    >>> from mod1 import add    # from 모듈명 import 함수명
    >>> add(3, 4)    # 쓸때마다 모듈명을 쓰지 않아도 됨
    7

    複数の関数呼び出し+モジュール名なし

    >>> from mod1 import add, sub    # from 모듈명 import 함수명1, 함수명2, ...
    >>> add(3, 4)
    7
    >>> from mod1 import *    # *는 '모든 것'이라는 뜻 -> 모듈 내 모든 함수 불러오기
    >>> add(3, 4)
    7

    3. if __name__ == "__main__"


    🍕 ファイルを直接実行する場合にのみ、次の操作を行います.
    # mod1.py 
    def add(a, b): 
        return a+b
    
    def sub(a, b): 
        return a-b
    
    print(add(1, 4))
    print(sub(4, 2))
    # 파일을 직접 실행할 경우
    C:\doit>python mod1.py
    5
    2
    
    # 모듈로 import할 경우
    >>> import mod1
    5
    2
  • importモジュールモジュールモジュールモジュール内の関数を使用して、ファイルを実行し、欠落値
  • を出力します.
    🍕 if __name__ == "__main__"ファイルを直接実行する場合、ifセクションはifより下の「真」になります.
    モジュールが読み込まれて使用される場合、ifセグメントは偽であり、ifを下回らない.
    # mod1.py 
    def add(a, b): 
        return a+b
    
    def sub(a, b): 
        return a-b
    
    if __name__ == "__main__":
        print(add(1, 4))
        print(sub(4, 2))
    
    # 모듈로 import할 경우
    >>> import mod1    
    >>>                      # if 이하 수행되지 않음
    🍔 __name__変数
  • Python内部で使用される特殊変数名
  • mod1.pyファイルを直接実行すると、__name__変数は__main__
  • を格納します.
  • mod 1をインポートすると、mod 1になります.pyの__name__変数はmod 1を格納します.
  • 4.他のファイルからモジュールを読み込む


    🍕 他のファイルからモジュールを読み込む(feat.同じディレクトリ)
    # modtest.py
    import mod2
    result = mod2.add(3, 4)
    print(result)
    🍕 他のディレクトリのモジュールを読み込み
  • sys.path.append(エンクロージャのディレクトリ)
  • C:\doit>python
    >>> import sys
    
    # 파이썬 라이브러리가 설치되어있는 디렉터리 리스트에 해당 디렉터리 추가
    >>> sys.path.append("C:/doit/mymod")    
    
    # 불러울 모듈이 있는 디렉터리 추가 완료
    >>> sys.path
    ['', 'C:\\Windows\\SYSTEM32\\python37.zip', 'c:\\Python37\\DLLs', 
    'c:\\Python37\\lib', 'c:\\Python37', 'c:\\Python37\\lib\\site-packages', 
    'C:/doit/mymod']
    
    >>> import mod2
    >>> print(mod2.add(3,4))
    7
  • PYTHONPATH使用環境変数
  • C:\doit>set PYTHONPATH=C:\doit\mymod    # set PYTHONPATH로 환경변수에 디렉터리 설정   
    C:\doit>python
    >>> import mod2    # 별도의 디렉터리 이동 없이 모듈 불러오기 가능
    >>> print(mod2.add(3,4))
    7
    以下の内容に基づいて整理されています.
    Pythonにジャンプ(https://wikidocs.net/29)