파이썬에선 기본적으로 파이썬 내에 사용되는 함수들이나 모듈들을 별도의 정의없이 사용할 수 있다.
여태 우리가 사용하던 print() 나 input()이나 등등 모든것들이 기본적인 파이썬 내장 함수이다.
그러나 기본적인 것들 말고도 내장되어있지만 로드되어있지 않은 모듈들은 import를 사용해 모듈들을 가져와서 쓸 수 있다. (전부 다 로드해서 쓰면 메모리를 불필요하게 사용할 수 있기 때문이다.)
이번 글에서는 랜덤 값을 만들어주는 random 모듈과 날짜와 시각값을 주는 datetime 모듈을 알아 볼 것이다.
random 모듈
지정해놓은 단어안에서 랜덤하게 주어와 형용사를 사용해 문장을 매번 다르게 출력해주는 코드를 만들어 보겠다.
import random
random 모듈 패키지를 사용하기 위해서 먼저 import로 모듈을 가져와준다.
이 외에도 다른 모듈을 사용하기 위해선 import [모듈 이름] 을 사용해주면 된다.
#모듈 지정
import random
#데이터들이 들어있는 변수 지정
animal = ["개","고양이","코끼리"]
adjective = ["멋진","귀여운","커다란","이쁜"]
#변수안에서 랜덤하게 값을 뽑아내서 가져가는 변수 지정
animal_ran = random.choice(animal)
adjective_ran = random.choice(adjective)
#출력
print("저에게는" + adjective_ran + adimal_ran + "가 있습니다!")
>>> 저에게는 멋진 고양이가 있습니다!
>>> 저에게는 이쁜 코끼리가 있습니다!
>>> 저에게는 귀여운 개가 있습니다!
먼저 랜덤하게 값을 뽑아내려면 변수안에 뽑아져야하는 데이터들을 넣어줘야한다.
따라서 animal이라는 변수를 만들어 "개" "고양이" "코끼리" 라는 데이터들을 넣어주었고
adjective라는 변수안에는 "멋진" "귀여운" "커다란" " 이쁜" 라는 데어터들을 넣어주었다.
random.choice(animal) 로 animal 변수 안에 있는 데이터들에서
random 모듈의 choice라는 클래스를 사용해 랜덤한 값을 뽑아내 animal_ran이라는 변수안에 넣는다.
밑에 adjective_ran도 동일하게 진행했고
랜덤하게 값이 들어간 변수들을 출력시켰다.
만약 문자열들이 아닌 숫자를 랜덤하게 출력시키려면 더 간단하다.
import random
num = random.randrange(1,11)
print(num)
>>> 2
>>> 6
>>> 10
>>> 5
random.randrange 로 1부터 11전까지의 숫자 즉 , 1부터 10까지의 숫자를 무작위로 뽑아주는 클래스이다.
datetime 모듈
datetime 모듈은 현재 날짜, 요일이 같은 미래와 과거 날짜의 자세한 정보 , 서로 다른 두 날짜의 계산 등등 여러가지 기능을 할 수 있는 모듈이다.
간단하게 오늘 날짜를 먼저 가져오는 클래스를 사용해보겠다.
#모듈 불러오기
import datetime
#오늘 날짜 가져오기
today = datetime.datetime.now()
#출력
print("지금은", today,"입니다")
조금더 재밌게 datetime모듈과 if문을 사용해 오늘의 요일을 보고 학교를 가야하는지 안가야하는지 등등 스케줄을 확인해주는 코드를 작성해 보았다.
import datetime
today = datetime.datetime.now()
if today.weekday() == 6:
print("오늘은 일요일이므로 학교에 가지 않는다!")
elif today.weekday() == 5:
print("오늘은 토요일이므로 학교에 가지 않는다!")
else:
print("오늘은 주중이므로 학교에 가자...")
weekday() 함수는 요일을 확인해주는 함수이다.
0부터 월요일로 숫자를 센다.
따라서 일요일은 6이다.
if절로 6이 나오면 일요일이라 학교를 가지않는 문구를 출력.
5가 나오면 토요일이라 학교를 가지않는 문구를 출력.
나머지는 주중이므로 학교에 가라는 문구를 출력했다.
간단하게 여러 조건을 한번에 확인하는 in 을 사용해서 코드를 더 간단하게 짜보았다.
import datetime
today = datetime.datetime.now()
if today.weekday() in [5,6]
print("주말이므로 학교에 가지않는다")
else:
print("주중이므로 학교에 간다.")