영감이 번뜩이는 삶

[파이썬 입문] 모듈2 본문

Python 도전기

[파이썬 입문] 모듈2

돌굴러가유피하세유 2022. 12. 16. 21:00
반응형

지난 글에서 기본적으로 import 명령은 같은 폴더에 있을때 가능하다고 했었쥬
그렇다면 계속 그래야될까 찾아보면 당연히 아니에유 그딴법이 어딨겠어유
아래와 같은 코드를 가진 파일을 만들어서 실행시켜주면 모듈을 불러올 경로를 추가해줄 수 있어유

더보기

#모듈 라이브러리 경로 추가
import sys #파이썬 내장 sys 모듈 불러오기

sys.path.append("C:/Users/사용자명/Desktop/예제") #모듈 불러올 경로 추가


sys 모듈의 path 함수를 통해 현재 모듈을 불러오는 경로의 리스트를 볼 수 있는데
리스트에서의 함수 append를 이용해 내가 필요한 경로를 추가해주는거쥬
그리고 Shell에서 아래처럼 입력하면 추가된걸 확인할 수 있어유

더보기

>>> import sys
>>> sys.path
['', 'C:\\Users\\사용자명\\Desktop\\예제', 'C:\\Users\\사용자명\\AppData\\Local\\Programs\\Python\\Python310\\python310.zip', 'C:\\Users\\사용자명\\AppData\\Local\\Programs\\Python\\Python310\\DLLs', 'C:\\Users\\사용자명\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\Users\\사용자명\\AppData\\Local\\Programs\\Python\\Python310', 'C:\\Users\\사용자명\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages']

 

자 이제 경로 내에 모듈이 있다면 아무때나 사용할 수 있게 된거니까 계속 이어가보도록 할께유
이번엔 모듈명.함수명()으로 호출하는게 아니라 함수명()만으로 호출할 수 있는 방법이에유
아래와 같은 모듈을 만들어볼께유

더보기

#모듈 예시, 파일경로 : C:\Users\lee\Desktop\예제\ex2.py
def alpha(x): #a부터 x번째 소문자 알파벳까지 출력하는 함수
    for i in range(1,x+1):
        print("%s" % (chr(96+i)),end=' ')
        i += 1

def Alpha(x): #A부터 x번째 대문자 알파벳까지 출력하는 함수
    for i in range(1,x+1):
        print("%s" % (chr(64+i)),end=' ')
        i += 1


그리고 이 모듈을 기존처럼 Shell에서 불러와서 함수를 사용해볼께유

더보기

>>> import ex2 #ex2 모듈 불러오기, sys.path에 경로 포함되어 있음
>>> ex2.alpha(5)
a b c d e 
>>> ex2.Alpha(10)
A B C D E F G H I J 


Ctrl + F6으로 Shell을 재시작한 후 from 모듈명 import 함수명으로 불러와볼께유

더보기

>>> from ex2 import alpha #ex2 모듈 내의 함수 alpha 불러오기
>>> alpha(5)
a b c d e
>>> Alpha(10)
Traceback (most recent call last):
  File "<pyshell#35>", line 1, in <module>
    Alpha(10)
NameError: name 'Alpha' is not defined. Did you mean: 'alpha'?


잉? 이때는 컴퓨터가 불러온 함수만 불러왔기 때문에 다른 함수를 쓰려면 또 불러와야 사용이 가능해유
하지만 이런 편의성이면 파이썬을 썼겠슈? 어림도 없쥬 함수명이 들어갈 자리에 *을 써봐유

더보기

>>> from ex2 import * #ex2 모듈 내의 모든 기능 불러오기
>>> alpha(5)
a b c d e 
>>> Alpha(10)
A B C D E F G H I J 


모든 기능을 불러오기 때문에 클래스든 뭐든 다 사용이 가능해유
이전 글에서 썼던 ex1.py 모듈을 사용할께유

 

 

[파이썬 입문] 모듈1

우리가 사용할 모듈의 사전적 정의는 특정 기능을 하는 컴퓨터 시스템이나 프로그램의 단위라고 보면 되겠네유 말은 좀 어려운 것 같아도 코드를 짜서 py확장자 파일 하나를 만들면 그게 특정

anordinaryman.tistory.com

 

그리고 확인해볼께유

더보기

>>> from ex1 import *
>>> a = A()
x값 입력 : 2
y값 입력 : 3
>>> a.add()
5
>>> a.mul()
6


컴퓨터 사용하면서 더러 봤겠지만 *은 모든 것을 의미하니까 알아두시면 유용할꺼에유

반응형

'Python 도전기' 카테고리의 다른 글

[파이썬 입문] 오류 발생/처리  (0) 2022.12.28
[파이썬 입문] 패키지  (0) 2022.12.18
[파이썬 입문] 모듈1  (0) 2022.12.14
[파이썬 입문] 클래스2  (0) 2022.12.11
[파이썬 입문] 클래스1  (0) 2022.12.09
Comments