IT흔적

[파이썬]2.모듈 본문

DO it! Python/05.파이썬 날개 달기

[파이썬]2.모듈

흔적남기는 개발자 2018. 12. 23. 15:24

모듈: 1.함수나 변수 또는 클래스 들을 모아 놓은 파일이다

             2.다른 파이썬 프로그램에서 불러와 사용할수 있게끔 만들어진 파이썬 파일

             3.다른 사람들이 이미 만들어 놓은 모듈을 사용할 수도 있고 우리가 직접 만들어서 사용


 간단한 예제를 통해서 모듈를 만들고 실행 해봤습니다. 


# mod.py
def add(a, b):
return a+b

'''

첫번재 방법

디렉터리/python # 자신이 설정한 도스창 디렉터리에서 python 일렵해서 대화형 인터프리터를 실행
>>> import mod # import 명령어를 이용해서 확장자를 작성안하고 파일을 불러온다.
>>> print(mod.add(3,2)) # 파일이름.함수() 작성
5


두번째 방법 - 모듈의 함수 바로 사용 할 수 있다.

>>> from mod import add

>>> add(4,2)

6


세번째 방법 - 두개의 함수를 사용

>>> from mod import add, add1


네번째 방법 - 전체

>>> from mod import *

'''

2. if __name__ == "__main__": 에 대해서 알아보자 그전에 다음 문장을 읽어보자

def add(a,b):
return a + b
def add1(a , b):
if type(a) != type(b):
print("끝")
return
else:
result = add(a, b)
return result

print(add1(4, 5))
print(add1("woong", 5))
print(add(4.5, 5))
'''
>>> import mod
9

None
9.5
'''


내용: 

type() 함수와 if 조건문을 이용해서 코드를 작성했습니다. 여기까지는 모듈을 불러오고 다른점이 없습니다. !그런데 여기서! 만약 add() 함수에 다른값을 넣고 싶을때는 어떤 방법을 해야할까?? 이때 사용하는것이 if __name__ == "__main__": 이다. 코드를 통해서 알아보자!!

def add(a,b):
return a + b
def add1(a , b):
if type(a) != type(b):
print("끝")
return
else:
result = add(a, b)
return result

if __name__ == "__main__":
print(add1(4, 5))
print(add1("woong", 5))
print(add(4.5, 5))
'''
>>> import mod
>>> print(mod.add(4,5))
9
>>> print(mod.add1('4',5))

None
>>>
'''

내용:

이처럼 모듈을 불러서 함수에 자신이 원하는 값을 집어넣어서 작성을 할수있다. 도스창에서는 참이되어 조건문을 나타내지만 대화형 인터프리터에서는 거짓을 나타낸다.


Tip: 다른 방법으로 모듈 불러오기

1.새 파일 안에서 이전에 만들 모듈 불러오기

#mod2.py

import mod

result = mod.add(3,2)

print(result)


>>> import mod >>> result = mod.add(3,2) >>> print(result) 5


2.sys.path.append(디렉터리) 사용하기

>>>import sys


>>>sys.path

['', 'D:\\SunWoong\\python\\venv\\Scripts\\python37.zip', 'C:\\Users\\sun woong\\AppData\\Local\\Programs\\Python\\Python37\\DLLs',

'C:\\Users\\sun woong\\AppData\\Local\\Programs\\Python\\Python37\\lib', 'C:\\Users\\sun woong\\AppData\\Local\\Programs\\Python\\Python37',

'D:\\SunWoong\\python\\venv', 'D:\\SunWoong\\python\\venv\\lib\\site-packages', 'D:\\SunWoong\\python\\venv\\lib\\site-packages

\\setuptools-39.1.0-py3.7.egg', 'D:\\SunWoong\\python\\venv\\lib\\site-packages\\pip-10.0.1-py3.7.egg']

# 파이썬 라이브러리들이 설치되어 있는 디렉터리들을 보여준다.

!! 도스창에서는 '/', '\' 소스코드 안에서는 '/' or '\\' 사용

>>>sys.path.append("D:\SunWoong\python\example")
>>>sys.path
['', 'D:\\SunWoong\\python\\venv\\Scripts\\python37.zip', ''''''''''''''''''''D:/SunWoong

/python/example']


# 마지막 끝에 경로가 추가 되었고 이것을 이용

'''

>>>import mod

>>>print(add.mod(3,2))

5

''' 값이 나온다.

3. PYTHONPATH 환경 변수 사용하기

'''

(venv) D:\SunWoong\python>set PYTHONPATH = D:\SunWoong\pytonh\example


(venv) D:\SunWoong\python>python


>>> import mod

>>> print(mod.add(4,5))

9

'''