[제로베이스] [파이썬] 모듈

한결·2023년 12월 12일
0
post-thumbnail

1. 모듈

모듈
모듈이란 이미 누가 만들어 놓은 알고리즘 집합이다.

import random #random 모듈 호출

print(random.randint(1,100)) # 1에서 100 중에 임의의 숫자 선택

2. 모듈 제작

우선 새파일을 만든다.
파일 이름은 'Area.py' 로 정하겠다.

Area.py

def triangle (height, width) : #높이, 밑변의 길이를 적으면 삼각형 넓이 구하는 함수
    return (1/2)* height * width

def square (height, width) : #높이, 밑변의 길이를 적으면 사각형 넓이 구하는 함수
    return height * width

모듈을 불러온 뒤 높이가 2, 밑변이 3인 사각형의 넓이를 구해 보겠다.

import Area

print(Area.square(2,3))
6

3. 모듈 사용

✅ 모듈 불러오기

import Area

print(Area.square(2,3))

as

import Area as ar

print(ar.square(2,3))

from

모듈에서 특정 함수만 필요할 때 사용

from Area import square

print(square(2,3))

4. __name__ 전역변수

__name__ 에는 모듈 이름이 저장되거나 __main__이 저장된다.

Area.py

def triangle (height, width) : #높이, 밑변의 길이를 적으면 삼각형 넓이 구하는 함수
    return (1/2)* height * width

def square (height, width) : #높이, 밑변의 길이를 적으면 사각형 넓이 구하는 함수
    return height * width
   
print(f'__name__: {__name__}')
__name__: __main__

이 상황에서 다른 파일에서 Area 모듈을 불러오면 어떻게 나오는지 확인해보자.

import Area

print(Area.square(2,3))
__name__: Area
6

__main__을 통해 실행 파일을 확인할 수 있다.

if __name__=='__main__' :
	
    위 파일이 '실행 파일'인 경우 실행문

5. 패키지

패키지
모듈들의 그룹. 패키지를 이용해 모듈들을 관리하기 편해진다.


6. site-packages

site-packages에 있는 모듈은 어디서나 사용 가능!

import sys

for path in sys.path:
    print(path)
/Users/gyol/Documents/pythonEx/project/2-001
/Users/gyol/Documents/pythonEx/project
/Library/Frameworks/Python.framework/Versions/3.11/lib/python311.zip
/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11
/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload
/Users/gyol/Documents/pythonEx/project/lib/python3.11/site-packages

이 디렉토리에 모듈을 저장하면 항상 사용이 가능해진다!!


6. 자주 사용하는 외부 모듈

import math # 수학 관련 모듈

print(math.factorial(5)) # 5! 구하기
120
import random # 난수 관련 모듈

print(random.randint(1,10)) # 1 이상 10 이하 숫자 중에 랜덤 뽑기
6
import time # 시간 관련 모듈

print(time.localtime())
time.struct_time(tm_year=2023, tm_mon=12, tm_mday=12, tm_hour=14, tm_min=21, tm_sec=6, tm_wday=1, tm_yday=346, tm_isdst=0)

그 외

import numpy as np #데이터 표현 모듈
import pandas as pd #데이터 프레임 분석 모듈
import matplotlib.pyplot as plt #데이터 시각화 모듈
profile
낭만젊음사랑

0개의 댓글