파이썬을 배우다 보면 단순한 문법 예제만 반복하는 게 지루할 수 있습니다. 이럴 때 가볍게 만들 수 있는 프로젝트가 바로 명언 출력기입니다. 실행할 때마다 랜덤으로 명언이 출력되거나, 매일 새로운 문구가 나오게 설정할 수도 있어 작은 성취감과 재미를 동시에 얻을 수 있습니다. 이번 글에서는 Useless tool project의 첫 발자국 Python 명언 출력기 개발 과정을 단계별로 소개하겠습니다.
왜 명언 출력기인가?
명언 출력기는 겉보기에 쓸모없어 보일 수 있지만, 실제로는 다음과 같은 장점이 있습니다.
- 파이썬의 리스트, 랜덤, 날짜 처리를 자연스럽게 연습 가능
- 짧은 코드로 바로 실행 가능한 툴
- 블로그나 콘솔에 재미 요소를 추가할 수 있음
- 그냥 심심해서( 가장 중요 )
1. 랜덤 명언 출력기 만들기
가장 기본적인 방법은 명언을 리스트에 저장한 뒤, random.choice()를 이용해 하나를 출력하는 방식입니다.
import random
quotes = [
"성공은 준비된 자에게 온다.",
"오늘 걷지 않으면 내일은 뛰어야 한다.",
"실패는 성공의 어머니.",
"작은 습관이 큰 변화를 만든다."
]
print("오늘의 명언 : ", random.choice(quotes))
2. 날짜 기반 명언 출력기
매일 다른 문구가 나오게 만들고 싶다면 datetime 모듈을 활용할 수 있습니다.
import datetime
quotes = [
"오늘도 최선을 다하자.",
"꾸준함이 결국 이긴다.",
"도전 없이는 성취도 없다.",
"불가능은 없다."
]
today = datetime.date.today().toordinal()
print("오늘의 명언 : ", quotes[today % len(quotes)])
datetime.date.today()
- 오늘 날짜를 가져오는 함수예요.
.toordinal()
- 날짜를 숫자로 바꿔주는 함수
- 예: 서기 1년 1월 1일 = 1부터 시작해서, 날짜가 하루 지날 때마다 1씩 증가.
% len(quotes)
- %는 나머지 연산자예요.
- len(quotes) = 명언 리스트의 길이. (예: 4개라면 len(quotes)=4)
- 오늘 날짜 숫자를 명언 개수로 나눈 나머지를 구하면 → 항상 0, 1, 2, 3 중 하나가 나와요.
3. 실시간 명언 API 활용하기
무료 API를 활용하면 매번 새로운 명언을 받아올 수도 있습니다.
예시: ZenQuotes API
ZenQuotes(젠퀴츠)는 역사상 중요했던 철학자, 발명가, 과학자, 종교 지도자, 리더들의 영감을 주는 인용문들을 제공하는 웹사이트이자 API
import requests
res = requests.get("https://zenquotes.io/api/random")
data = res.json()
print(f"{data[0]['q']} — {data[0]['a']}")
왜 q, a 인지 어떻게 알았나?
이건 API 문서(Docs)나 직접 응답을 확인해서 알아내는 거예요.
예를 들어 ZenQuotes API에 https://zenquotes.io/api/random을 요청하면, 응답이 이렇게 옵니다
[
{
"q": "Stay hungry, stay foolish.",
"a": "Steve Jobs",
"h": "<blockquote>“Stay hungry, stay foolish.” — <footer>Steve Jobs</footer></blockquote>"
}
]
- "q" = quote (명언)
- "a" = author (저자)
- "h" = html 버전
그래서 data[0]["q"] 와 data[0]["a"]를 쓰는 거예요.
requests.get()만으로는 안돼?
requests.get(url) 자체는 문자열(raw text)만 가져와요.
import requests
res = requests.get("https://zenquotes.io/api/random")
print(res.text)
[{"q":"Stay hungry, stay foolish.","a":"Steve Jobs","h":"<blockquote>“Stay hungry, stay foolish.” — <footer>Steve Jobs</footer></blockquote>"}]
res.json()을 쓰는 이유
res.json()은 이 문자열을 파이썬 dict/list로 변환해줍니다.
data = res.json()
print(type(data)) # <class 'list'>
print(data[0]["q"]) # Stay hungry, stay foolish.
print(data[0]["a"]) # Steve Jobs
requests.get()만으로는 “문자열 덩어리”일 뿐이고, 파이썬에서 편하게 다루려면 .json()을 꼭 써야 하는 거예요.
마무리
Python 명언 출력기는 쓸모있으면서도 쓸모없어 보이는(?) 프로젝트의 대표 주자입니다. 사실 그냥 인터넷에서 명언을 검색해도 되지만, 굳이 파이썬으로 만들어야 더 뿌듯하죠. 이직하거나 스펙에 한 줄 적어보세요.
그리고 언젠가 회사에서 상사가 “파이썬으로 뭘 만들었냐?”고 물어본다면, 당당하게 이렇게 대답하세요.
“저는 명언 출력기를 만들었습니다." 물론 회사가 감동할지는 보장 못 합니다.
대신 적어도 재밌었으면 OK 아닌가요?
만든 툴을 실행하면서 글을 마무리 지을게요!
A day without laughter is a day wasted ( 웃음 없는 하루는 낭비한 하루다 ) - 찰리 채플린.

'Patrashu의 랩실 > 파이썬' 카테고리의 다른 글
| 파이썬 기본 내장 함수 — 완전정복 가이드(설명 + 예제) (0) | 2025.10.11 |
|---|---|
| Python으로 만들어보는 Useless tool : 2. 오늘의 운세 (0) | 2025.09.30 |
| 날짜, 시간 다루기 - datetime (0) | 2025.03.21 |
| 반복문 - for (0) | 2025.03.18 |
| 조건문 - if (0) | 2025.03.18 |