[Python] 파이썬 모듈

AhnHz·2023년 11월 25일
0

Python 기초

목록 보기
8/8
post-thumbnail

모듈 (Module)

: 코드가 저장된 파일

  • 모듈을 사용하면 코드 작성과 관리가 편리하다.
  • 작성된 코드를 재사용할 수 있다.

모듈 생성

%%writefile my_area.py

PI = 3.14

def square_area(a):  # 사각형 넓이를 구하는 함수
    return a**2

def circle_area(r):  # 원의 넓이를 구하는 함수
    return 2*PI* r**2
import my_area  # 모듈 불러오기

print(my_area.PI)
my_area.square_area(5)

>>	3.14
	25

from my_area import *

print('pi =', PI) # 모듈의 변수 이용
print('square area =', square_area(5)) # 모듈의 함수 이용
print('circle area =', circle_area(2))

>>	pi = 3.14
    square area = 25
    circle area = 25.12

모듈을 별명으로 선언하기

import my_area as ma  # 모듈명(my_area)에 별명(ma)을 붙임 

print('pi =', ma.PI)  # 모듈명 대신 별명 이용
print('square area =', ma.square_area(5))     
print('circle area =', ma.circle_area(2))

>>	pi = 3.14
    square area = 25
    circle area = 25.12



내장 모듈

1) 난수 발생 모듈

import random

dice1 = random.randint(1,6) # 1~6 임의의 정수가 생성됨
dice2 = random.randint(1,6) # 1~6 임의의 정수가 생성됨

print('주사위 두 개의 숫자: {0}, {1}'.format(dice1, dice2))

>> 주사위 두 개의 숫자: 2, 2

import random

num1 = random.randrange(1, 10, 2)  # 1 ~ 9 임의의 홀수 선택
num2 = random.randrange(0,100,10)  # 0 ~ 99 임의의10의 단위 숫자 선택

print('num1: {0}, num2: {1}'.format(num1,num2))

>> num1: 9, num2: 70

menu = ['비빔밥', '된장찌개', '볶음밥', '불고기', '스파게티', '피자', '탕수육']
random.choice(menu)

>> 피자 

import random

random.sample([1, 2, 3, 4, 5], 2)  # 모집단에서 두 개의 인자 선택

>> [2, 1]

2) 날짜 및 시간 처리 모듈

import datetime

setday = datetime.date(2023, 5, 8)

print(setday)
print('{0}/{1}/{2}'.format(setday.year,setday.month,setday.day ))

>>	2023-05-08
	2023/5/8

오늘 날짜 datatime.date.today()

import datetime

today = datetime.date.today()
setday = datetime.date(2023, 5, 8)
print(setday - today)

>> -7 days, 0:00:00

import datetime

settime = datetime.time(14, 00, 30)

print(settime)
print('{0}:{1}:{2}'.format(settime.hour,settime.minute,settime.second))

>>	14:00:30
	14:0:30

import datetime

now = datetime.datetime.now()

print('Date: {:%Y, %m, %d}'.format(now))
print('Time: {:%H/%M/%S}'.format(now))

>>	Date: 2023, 05, 15
	Time: 01/54/11

3) 달력 생성 및 처리 모듈

import calendar

print(calendar.calendar(2023, m=4))  # 4열로 출력. 기본값은 3열


print(calendar.month(2023,5))  # 5월만 출력

calendar.setfirstweekday(calendar.SUNDAY)   # 일요일부터 시작
print(calendar.month(2023, 5))
 

월 정보 출력

print(calendar.monthrange(2023,5))  # 시작하는 요일, 총 일수 출력

>> (0, 31)

요일 정보 출력

print(calendar.weekday(2023, 5, 4))  # 요일 정보 출력 0~6 (월~일)

>> 3

해당 연도가 윤년인지 확인하기

print(calendar.isleap(2018))
print(calendar.isleap(2020))

>>	False
	True

2018년은 평년이고 2020년은 윤년인 것을 알 수 있다!

profile
데이터 분석가 연습생입니다

0개의 댓글