본문 바로가기
Codeit/프로그래밍 기초 in Python

파이썬 응용하기 / 파이썬 모듈 맛보기

by 에파 2021. 3. 24.
728x90

 

파이썬 응용하기 / 파이썬 모듈 맛보기

 

 

#calculator.py 파일

def add(x, y):
    return x + y
    
def subtract(x, y):
    return x - y

def multiply(x, y):
    return x * y

def divide(x, y):
    return x / y

 

#run.py 파일

import calculator as calc

print(calc.add(2, 5))
print(calc.multiply(3, 4))

#<Run>
#7
#12

모듈

 

같은 폴더 안 다른 파일에 있는 것들을 import 하여 불러올 수 있다. (다른 폴더에 있는 것도 가능하지만 다음에 배움)

 

import calculator 을 하면 calculator.함수() 로 불러오고 import calculator as calc 을 하면 calc.함수() 로 불러오면 된다.

 

from calculator import add, multiply 을 하면 그냥 add(2, 5) 로도 불러와진다.

from calculator import * 을 하면 해당 파일의 모든 함수를 가져올 수 있지만 비추천한다. (함수의 출처를 모르기 때문에)


import math, random, os

print(math.log10(100))
print(math.cos(0))
print(math.pi)

print(random.random())

print(os.getlogin())
print(os.getcwd())

#<Run>
#2.0
#1.0
#3.141592653589793

#0.6265294700202512

#root
#/Users/codeit/PycharmProjects/python_intro

스탠다드 라이브러리 (standard library)

 

파이썬을 설치하면서 이미 내장된 표준 라이브러리가 여러개 존재한다.

Ex) math, random, os


import random

print(random.randint(1, 20))
print(random.randint(1, 20))
print(random.randint(1, 20))
print(random.randint(1, 20))
print(random.randint(1, 20))

#<Run>
#8
#3
#6
#6
#2

random 모듈 - randint 함수

 

randint(a, b) : a <= N <= b 를 만족하는 랜덤한 정수 N 을 리턴한다.


import random

print(random.uniform(0, 1))
print(random.uniform(0, 1))
print(random.uniform(0, 1))
print(random.uniform(0, 1))
print(random.uniform(0, 1))

#<Run>
#0.08811632754196952
#0.599056286966887
#0.03005761564442677
#0.45302183459579204
#0.5120418463594933

random 모듈 - uniform 함수

 

uniform(a, b) : a <= N <= b 를 만족하는 어떤 랜덤한 소수 N 을 리턴한다.


import datetime

pi_day = datetime.datetime(2021, 3, 19, 22, 55, 30)
print(pi_day)
print(type(pi_day))

#<Run>
#2021-03-19 22:55:30
#<class 'datetime.datetime'>

datetime 모듈 - datetime 값 생성

 

datetime 모듈은 '날짜'와 '시간'을 다루기 위한 다양한 클래스를 갖추고 있다.


import datetime

today = datetime.datetime.now()
print(today)
print(type(today))

#<Run>
#2021-03-19 22:56:10.360266
#<class 'datetime.datetime'>

datetime 모듈 - 오늘 날짜

 

지금 이 순간의 날짜와 시간 받아오기


import datetime

today = datetime.datetime.now()
pi_day = datetime.datetime(2021, 3, 14, 13, 6, 15)
print(today - pi_day)
print(type(today - pi_day))

#<Run>
#5 days, 9:42:57.360266
#<class 'datetime.timedelta'>

datetime 모듈 - timedelta (빼기)

 

datetime 값 사이의 기간 알아내기 (그냥 숫자 뺄셈을 하듯이 빼면 된다)


import datetime

today = datetime.datetime.now()
my_timedelta = datetime.timedelta(days=5, hours=3, minutes=10, seconds=50)

print(today)
print(today + my_timedelta)

#<Run>
#2021-03-19 22:56:10.360266
#2020-03-25 02:07:00.360266

datetime 모듈 - timedelta (더하기)

 

datetime 값 사이의 기간 알아내기 (datetime 값에 더해 줄 수도 있다.)


today = datetime.datetime.now()

print(today)
print(today.year)  # 연도
print(today.month)  # 월
print(today.day)  # 일
print(today.hour)  # 시
print(today.minute)  # 분
print(today.second)  # 초
print(today.microsecond)  # 마이크로초

#<Run>
#2021-03-19 22:56:10.360266
#2021
#3
#19
#22
#56
#10
#360266

datetime 모듈 - datetime 해부하기

 

datetime 값에서 '연도'나 '월' 같은 값들을 따로 추출할 수 있다.


today = datetime.datetime.now()

print(today)
print(today.strftime("%A, %B %dth %Y"))

#<Run>
#2021-03-19 22:56:10.360266
#Friday, March 19th 2021

datetime 모듈 - datetime 포맷팅

 

strftime 을 이용하면 datetime 출력값을 예쁘게 바꿀 수 있다.

(%A, %B, %d, %Y 같은 걸 포맷 코드라고 한다. 아래 포맷 코드 표 참고)

 

datetime 포맷 코드 표

 

댓글