Python 모듈(module) - 특징

Nicholas·2022년 4월 23일
0

Python

목록 보기
22/31
post-thumbnail

1. module(모듈)의 특징

  • 모듈함수에 출력하는 함수가 같이 존재하는 경우 모듈함수를 불러올때 모듈함수의 결과값도 같이 따라온다.
module_1.py

def add(a, b):
    return a + b

def sub(a, b):
    return a - b 

print(add(3, 4)) 
print(sub(5, 1))

>>> 7
    4
import module_1

>>> 4
    7

위처럼 모듈을 사용할때 모듈내에 있는 결과값으로 인해 모듈 사용이 어렵게 된다. 그렇다고 해서 모듈에 있는 출력함수를 지울수없는경우라면 모듈함수의 출력함수 위에 if __name__ == "__main__": 조건문을 추가하는 방식으로 해결가능하다.

module_1.py

def add(a, b):
    return a + b

def sub(a, b):
    return a - b 

if __name__ == "__main__":
    print(add(3, 4)) 
    print(sub(5, 1))
    
>>> 7
    4
import module_1

>>> 

2. if name == "main":의미

  • 진입점 정의 : 현재 실행하고 있는 파이썬파일을 진입점이라한다. 다른말로는 엔트리포인트 또는 main이라 한다.
  • 진입점을 확인하는 변수 = name
  • if __name__ == "__main__": 뜻은 조건문을 통해 이곳의 진입점이 맞는지 여부에 대해 True라면 실행, False라면 무시라는뜻
  • 결론 : 모듈파일에 진입점을 확인하는 조건문을 출력하는 함수 위에 추가하면, 조건문이하의 파일들은 모듈파일이 진입점이 될때 만
    실행되게됨으로 모듈을 가지고와서 사용할때는 모듈파일이 진입점이 아니라 가져오는 파일이 진입점이됨으로 조건문이 False가
    되어 실행되지 않는다.

3. 클래스나 변수를 포함하는 모듈 사용방법

# module_2.py

PI = 3.141592

class Math:
    def solv(self, r):
        return PI * (r ** 2)

    def add(a, b):
        return a + b

3-1. 모듈의 변수사용

  • 모듈 import 후 (모듈이름.변수이름) 으로 사용가능
import module_2

print(module_2.PI)

>>> 3.141592

3-2. 모듈에 클래스를 사용방법

  • 모듈 import 후 (모듈명.클래스명) 으로 사용가능(모듈에 있는 매소드, 함수, 변수 모두 함께 사용 가능)
import module_2

a = module_2.Math()

print(a.solv(2))
print(module_2.add(mod2.PI, 4.4))

>>> 12.566368
    7.5415920
 
profile
WEB Developer

0개의 댓글