파이썬은 다양한 분야에서 활용되는 강력한 프로그래밍 언어입니다. 그중에서도 날씨 정보를 제공하는 애플리케이션을 만드는 것은 초보자에게 좋은 프로젝트입니다. 이 글에서는 OpenWeatherMap API를 활용하여 하루 날씨를 알려주는 간단한 애플리케이션을 만드는 방법을 단계별로 설명하겠습니다. 이 글을 통해 파이썬의 기본적인 사용법과 API 활용 방법을 익힐 수 있습니다.
프로젝트 개요
이 프로젝트의 목표는 사용자가 입력한 도시의 현재 날씨 정보를 제공하는 것입니다. 사용자는 도시 이름을 입력하면, 해당 도시의 온도와 날씨 상태를 확인할 수 있습니다. 이 애플리케이션은 콘솔 기반으로 작동하며, 나중에 GUI로 확장할 수 있는 기초를 제공합니다.
필요한 도구 및 라이브러리
1. 파이썬 설치
먼저, 파이썬이 설치되어 있어야 합니다. 파이썬 공식 웹사이트에서 최신 버전을 다운로드하고 설치하세요.
2. 필요한 라이브러리
이 프로젝트에서는 requests 라이브러리를 사용하여 API에 요청을 보낼 것입니다. requests 라이브러리는 HTTP 요청을 쉽게 처리할 수 있도록 도와줍니다. 아래 명령어를 사용하여 설치합니다.
pip install requests
OpenWeatherMap API 가입
OpenWeatherMap API를 사용하기 위해서는 API 키가 필요합니다. 다음 단계를 따라 API 키를 발급받으세요.
- OpenWeatherMap 웹사이트에 접속합니다.
- 회원가입 후 로그인합니다.
- "API keys" 섹션으로 이동하여 새로운 API 키를 생성합니다.
- 생성된 API 키를 복사해 둡니다.
코드 작성
이제 본격적으로 코드를 작성해 보겠습니다. 아래 코드를 weather_app.py라는 파일에 저장하세요.
import requests
def get_weather(city):
api_key = "YOUR_API_KEY" # 여기에 OpenWeatherMap API 키를 입력하세요.
url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric"
response = requests.get(url)
data = response.json()
if response.status_code == 200:
temperature = data['main']['temp']
weather_description = data['weather'][0]['description']
print(f"{city}의 현재 온도: {temperature}°C")
print(f"날씨 상태: {weather_description}")
else:
print("도시를 찾을 수 없습니다. 올바른 도시 이름을 입력하세요.")
def main():
city = input("날씨를 알고 싶은 도시 이름을 입력하세요: ")
get_weather(city)
if __name__ == "__main__":
main()
1. 코드 설명
- import requests: requests 라이브러리를 임포트 하여 HTTP 요청을 보낼 수 있게 합니다.
- get_weather(city): 사용자가 입력한 도시 이름을 받아 API에 요청을 보내고, 날씨 정보를 출력하는 함수입니다.
- api_key: OpenWeatherMap에서 발급받은 API 키를 입력합니다.
- url: API 요청 URL을 구성합니다. 도시 이름과 API 키를 포함합니다.
- response: API에 요청을 보내고 응답을 받습니다.
- data: JSON 형식의 응답 데이터를 파싱 합니다.
- if response.status_code == 200: 요청이 성공했을 경우, 온도와 날씨 상태를 출력합니다.
- main(): 프로그램의 시작점으로, 사용자로부터 도시 이름을 입력받습니다.
실행 방법
코드를 작성한 후, 터미널이나 명령 프롬프트를 열고 아래 명령어를 입력하여 프로그램을 실행합니다.
python weather_app.py
프로그램이 실행되면 "날씨를 알고 싶은 도시 이름을 입력하세요:"라는 메시지가 나타납니다. 원하는 도시 이름을 입력하면 해당 도시의 현재 날씨 정보를 확인할 수 있습니다.
추가 기능 및 개선 사항
이 기본 애플리케이션에 다음과 같은 기능을 추가하여 발전시킬 수 있습니다.
1. 여러 도시의 날씨 조회
사용자가 여러 도시의 날씨를 한 번에 조회할 수 있도록 기능을 추가할 수 있습니다. 이를 위해 리스트를 사용하여 여러 도시를 입력받고, 각각의 날씨를 조회하는 코드를 작성할 수 있습니다.
2. 날씨 정보 저장
날씨 정보를 파일에 저장하는 기능을 추가하여, 사용자가 이전에 조회한 날씨 정보를 쉽게 확인할 수 있도록 할 수 있습니다. 이를 위해 파일 입출력 기능을 활용할 수 있습니다.
3. GUI 추가
Tkinter와 같은 GUI 라이브러리를 사용하여 사용자 인터페이스를 개선할 수 있습니다. 이를 통해 사용자는 더 직관적으로 애플리케이션을 사용할 수 있습니다.
마무리
이 글에서는 파이썬을 사용하여 하루 날씨를 알려주는 간단한 애플리케이션을 만드는 방법을 설명했습니다. OpenWeatherMap API를 활용하여 실시간 날씨 정보를 가져오는 방법을 배웠습니다. 이 프로젝트를 통해 파이썬의 기본적인 문법과 API 사용법을 익힐 수 있었기를 바랍니다.
앞으로 이 애플리케이션에 다양한 기능을 추가하여 더욱 발전시켜 보세요. 프로그래밍은 실습을 통해 더욱 깊이 이해할 수 있는 분야입니다. 즐거운 코딩되세요.