파이썬 기초

모듈

데이터_박과장 2023. 10. 11. 22:33

모듈 만들기:

모듈은 파이썬 스크립트 파일로, 함수, 변수, 클래스 등을 포함할 수 있는 파일입니다. 모듈을 만들 때, 파이썬 파일을 생성하고 그 안에 필요한 코드를 작성합니다.

# mymodule.py (모듈 파일)
def greet(name):
    return f"Hello, {name}!"

if __name__ == "__main__":
    print("This is the main module.")



모듈 불러오기:

모듈을 불러오려면 import 문을 사용합니다.

import mymodule

message = mymodule.greet("Alice")
print(message)



if name == "main":의 의미:
if __name__ == "__main__":은 현재 스크립트 파일이 직접 실행될 때 코드 블록을 실행하라는 조건을 나타냅니다. 다른 모듈로부터 불러올 때는 이 부분이 실행되지 않습니다.

 

if __name__ == "__main__":을 사용하지 않는다면?

if __name__ == "__main__":을 사용하지 않고 모듈을 import하면 해당 모듈의 코드가 실행되지 않고 모듈 내의 모든 함수, 클래스, 변수 등이 현재 스크립트에서 사용 가능해집니다. 이는 모듈을 개발 및 테스트할 때 유용하지만, 모듈을 임포트할 때 모듈 내의 코드가 불필요하게 실행되는 것을 방지하기 위한 관례입니다.

예시 코드를 통해 설명하겠습니다.

모듈 파일 (my_module.py):


def say_hello(name):
    return f"Hello, {name}!"

print("This is my_module.py.")


다른 스크립트 파일 (main.py) - if __name__ == "__main__":을 사용한 경우:

import my_module

name = "Alice"
greeting = my_module.say_hello(name)
print(greeting)


위의 코드에서 main.py 스크립트 파일은 my_module.py 모듈을 import하여 모듈의 함수를 호출하고 실행합니다. 이때 if __name__ == "__main__":을 사용하여 모듈이 직접 실행되는 경우에만 print("This is my_module.py.")가 출력됩니다.

다른 스크립트 파일 (main.py) - if __name__ == "__main__":을 사용하지 않은 경우:

import my_module

name = "Alice"
greeting = my_module.say_hello(name)
print(greeting)



이 경우에는 my_module.py 모듈이 import되면서 모듈 내부의 코드가 실행됩니다. 따라서 "This is my_module.py."가 출력됩니다.

사용하지 않는 경우에는 모듈을 import할 때 불필요한 부분이 실행되므로, if __name__ == "__main__":을 사용하여 모듈을 개발 및 테스트하는 데 유용합니다.

 



클래스나 변수 등을 포함한 모듈:

모듈은 함수뿐만 아니라 클래스, 변수, 상수 등을 포함할 수 있습니다.

# mymodule.py (모듈 파일)
class Dog:
    def bark(self):
        return "Woof!"

x = 10  # 변수
PI = 3.14159  # 상수



다른 파일에서 모듈 불러오기:

모듈을 다른 파일에서 사용하려면 import 문을 사용하여 해당 모듈을 불러옵니다.

import mymodule

dog = mymodule.Dog()
print(dog.bark())

value = mymodule.x
print(value)



다른 디렉터리에 있는 모듈을 불러오는 방법:

다른 디렉터리에 있는 모듈을 불러오려면 모듈을 검색할 디렉터리를 설정해야 합니다. 이를 위해 sys.path에 디렉터리를 추가할 수 있습니다.

import sys
sys.path.append("/path/to/other_directory")

import other_module



PYTHONPATH 환경 변수 사용하기:

PYTHONPATH 환경 변수를 설정하여 파이썬 모듈이 검색되는 경로를 추가할 수 있습니다. 이는 모듈을 불러올 때 해당 경로도 검색됩니다.

'파이썬 기초' 카테고리의 다른 글

파이썬 내장함수 모음  (0) 2023.10.11
예외처리  (0) 2023.10.11
클래스 설명  (0) 2023.10.11
파일 읽고쓰기  (0) 2023.10.11
사용자 입력&출력  (0) 2023.10.11