상세 컨텐츠

본문 제목

파이썬 코딩을 재미있게 배우기 좋은 프로젝트 아이디어와 책 추천

책 속으로

by 비제이퍼블릭 2023. 6. 21. 10:46

본문

개발자의 랜선 메이트 깃허브(GitHub)와 스택 오버플로우! 티오베 인덱스(Tiobe Index)와 인디드 닷컴(Indeed.com) 등 다수 사이트가 발표한 지난해 최고의 언어는 파이썬이었죠. 올해는 어떨까요? 올해 4월 티오베 지수에 의하면 역시나 파이썬이 1위 언어 타이틀을 차지하며 영예를 안았네요.

 

 

배우기 쉽고 여기저기 쓰이는 파이썬, 효과적으로 공부해 볼까요?

인기 많은 파이썬, 그 비결을 공개합니다. 우선 문법이 상당히 직관적이에요. 인간의 사고 체계와 유사합니다. 덕분에 초심자도 조금만 공부하면 코드의 의미를 쉽게 파악할 수 있죠. 게다가 간결한 작성이 가능해 오류가 덜 발생하고 적은 코드로 많은 작업을 수행할 수 있습니다. 파이썬을 사용하면 빠르게 개발할 수 있고 생산성이 높아지는 이유입니다.

 

파이썬의 방대한 생태계도 큰 장점. 수많은 표준 라이브러리가 개발 과정에 효율과 풍성함을 더합니다. 다른 언어나 라이브러리와 연동이 쉬워서 확장성과 이식성도 높아요. C나 C++과 연동해 고성능 앱을 만들 수 있습니다.

 

이런 특징은 데이터 분석부터 인공 지능까지 파이썬의 활용 범위를 넓혔어요. 잘 배워 두면 쓰임새가 많은 알짜 언어 파이썬! 오늘은 파이썬을 공부하고 싶은 분을 위해 재미있는 프로젝트를 추천해 드리려고 해요. 흥미진진한 프로젝트와 함께 파이썬 코딩 실력을 쑥쑥 늘려볼까요?

 

비제이퍼블릭이 추천하는 파이썬 프로젝트 아이디어 네 가지

1. 파이썬 크롤링으로 로또 당첨 지도 만들어보기

2. 내가 플레이 하고 싶은 게임 만들어보기

3. 사진을 만화 캐릭터로 바꿔주는 앱 만들기

4. 주식 투자자를 위한 주가 예측 앱 만들기

 

 

첫 번째 프로젝트는 크롤링을 이용한 ‘로또 명당 지도 만들기’ 입니다. K-직장인의 꿈은 뭐다? 로또 당첨이 아닐까요! 매주 금요일 저녁, 삶은 미생일지라도 희망을 품고 편의점에 들르는 당신이 바로 K-직장인..

 

여기서 비제이퍼블릭이 제안하는 당첨 확률 높이는 Tip은 바로 복권을 명당에서 사기! 실제 통계 데이터를 기반으로 명당의 위치를 지도에 표기하는 게 이 프로젝트의 핵심입니다. 재미있겠죠? 코딩 경험이 없어도 도전해 볼만한 어렵지 않은 프로젝트예요. 어떤 방법으로 접근하면 좋을지 정리해 볼게요.

 

 

 

입부에서 언급한대로 파이썬은 라이브러리가 잘 구축돼 있습니다. 필요한 라이브러리를 내 프로젝트에 임포트(import)하면 훨씬 편하게 코딩할 수 있답니다.

 

로또 명당 지도 만들기에는 데이터 시각화 라이브러리인 폴리움(folium)과 데이터 가공 라이브러리인 판다스(pandas)가 필요해요.

 

프로젝트는 아래 순서로 진행하면 되는데요.

 

우선, 기획재정부 공공데이터에 접속해서 최근 로또 당첨 판매점 리스트를 내려 받습니다.

 

 

기획재정부_온라인복권 1등 당첨 판매점 현황 정보_20200518

온라인복권 1등(자동선택) 당첨 판매점 현황으로 859~911회차(19.5.18.~20.5.16.) 정보를 제공합니다. 순번, 상호, 지역, 1등 자동 당첨 건수 항목을 제공합니다.

www.data.go.kr

[▲기획재정부 공공데이터 온라인 복권 판매점 현황]

 

판다스 라이브러리를 활용하면 엑셀 파일을 파이썬이 인식할 수 있는 가공된 데이터 형태로 열 수 있어요.

 

카카오 API를 활용해 해당 점포의 위도 경도 값을 추출합니다.

 

폴리움 라이브러리로 해당 위도와 경도를 기준으로 원하는 배율의 지도를 그려줄 수 있답니다. 지도에 마커를 표시해 줄 수도 있고요.

 

이제 아이디어를 조금 더해 볼까요? 데이터를 시각화 할 때 나만의 방식으로 변형해 보는 건 어때요?

 

지도 위 로또 명당에 당첨 횟수까지 표기하면 어디가 명당인지 한 눈에 들어올 것 같습니다. 각 판매점 마커에 마우스를 Hover하거나 터치 시 상세 주소를 표기해 주는 것도 방법입니다. 명당을 찾으러 어디로 가야 하는지 쉽게 알 수 있을 거예요.

 

 

이번 프로젝트를 위해 포털에서 #파이썬지도만들기 또는 #파이썬시각화 를 검색하면 도움을 받을 수 있습니다. 만약 자세하고 알기 쉽게 정리된 레퍼런스가 필요하다면 도서 《예제부터 배우는 거꾸로 파이썬》을 참고해 보세요.

 

로또 지도 외 크롤링을 활용한 다양한 프로젝트의 주요 개념과 코드가 수록돼 있습니다. 배달의 민족 리뷰 데이터 추출하는 법, 맛집 검색기 만드는 법, 재무제표 데이터 추출법부터 아웃룩 이메일 대량 자동 발송법까지! 업무에 플러스가 되는 프로젝트로 파이썬과 크롤링을 완벽하게 뿌실 수 있습니다.

 

코딩에 입문하거나 크롤링을 공부하고 싶다면 꼭 읽어보시길 추천드려요!

 

 

 

두 번째 프로젝트는 파이썬 액션 게임을 만들기입니다. 액션 게임이 돋보일 수 있는 화려한 UI와 개성 있는 스토리로 나만의 재미난 게임을 완성하면 보람되겠죠?

 

사용할 파이썬 라이브러리는 파이게임(pygame)입니다.

 

파이게임 라이브러리는 게임과 같은 멀티미디어 응용 프로그램을 만들기 위한 파이썬 무료 라이브러리입니다. 사용이 쉽고 간단하며 OpenGL이 불필요하고 멀티코어 CPU, 많은 운영체제, 휴대용 기기를 지원하는 특징 덕분에 액션 게임, 핑퐁, 레이싱, 슈팅 게임 등 내가 원하는 게임을 무궁무진하게 코딩해 볼 수 있답니다.

 

 

더욱 재미난 게임을 만들기 위해 알록달록 선명한 색감의 배경을 만들면 좋겠죠? 무료 이미지 리소스 사이트를 소개합니다. 프리픽이라는 사이트예요.

마지막으로 응용 가능한 간단하고도 매력적인 아이디어를 소개합니다. 배경은 산, 넘어야 하는 건 바위, 득템할 것은 도토리! ‘다람쥐의 모험’ 게임은 어떨까요? 주머니에 작고 소중한 아기 캥거루가 있는 엄마 캥거루가 아이와 함께 모험하는 게임도 재미있을 것 같아요. 이들은 봄나들이를 무사히 마칠 수 있을까요?

 

 

 

그런데 아이디어를 어떻게 구현하느냐고요? 인터넷에서 #간단한액션게임알고리즘, #스네이크게임알고리즘 등의 검색어를 활용해서 각종 게임 알고리즘 관련 자료를 찾을 수 있습니다.

 

책으로 도움을 받고 싶다면 《파이썬으로 만드는 나만의 게임》 을 적극 추천합니다. 이 책은 파이썬 초심자를 위해 문법을 정리했고 게임 알고리즘 설명 시 게임 규칙을 먼저 정리해서 단계별로 논리적으로 접근하는데 많은 도움이 돼요.

 

책 속 각 게임 규칙을 객체로 만들고 각 객체에 필요한 메서드를 하나하나 따라가다 보면 나만의 게임을 완성하고 파이썬 알고리즘 실력을 월등히 올리기에 충분합니다.

 

 

대망의 세 번째 프로젝트, 주식 데이터에 몬테카를로 시뮬레이션 적용해 주가 예측하는 앱 만들기

 

자산 관리 서비스의 새 게임체인저는 AI가 될 거라는 뉴스 다들 보셨나요? 다수 언론사에서 파운트, 콴텍과 같은 로보어드바이저 서비스가 전 국민의 PB(Private Banking) 서비스가 될 정도로 업계의 폭발적 성장을 예측하는데요.

 

파이썬으로 주가 예측 프로그램을 만들어보면 RA에 대해 한 걸음 가깝게 이해할 수 있어 자산 관리에 도움을 받을 수 있습니다. 예측을 위한 확률 알고리즘으로 몬테카를로 시뮬레이션을 추천합니다. 입력 값에 따라 모델이 어떻게 반응하는지 관찰해 불확실한 사건의 가능한 결과를 예측하는 수학적 기법입니다.

 

몬테카를로 시뮬레이션은 컴퓨터를 이용한 반복적인 랜덤 샘플링을 통해 쉽게 확률 실험을 할 수 있는 게 장점입니다. 컴퓨터 성능이 발전하면서 몬테카를로 시뮬레이션이 가능하게 됐어요. 머신러닝, 딥러닝부터 금융 공학까지 다양한 분야에서 활용됩니다.

 

 

이번 프로젝트를 위해 몬테카를로 시뮬레이션에 대한 이해가 필요해요. 확률 통계 기초 이론을 학습하면 위 알고리즘을 조금 더 쉽게 이해할 수 있습니다. 확률 통계 이론과 몬테카를로 시뮬레이션 자료를 통해 학습한 후, 행렬, 다차원 배열 처리 라이브러리인 넘파이 라이브러리를 사용해 파이썬으로 코딩하는 걸 추천합니다.

 

 

이번 프로젝트를 통해 주가 예측 프로그램을 만들고 자신의 포트폴리오에도 적용하고 싶다면 《몬테카를로 시뮬레이션으로 배우는 확률 통계》를 추천드려요! 확률 통계 기초부터 차근차근 배울 수 있고 몬테카를로 시뮬레이션을 이용한 주가 예측 미니 프로젝트도 별도 수록돼 있어요. 자세한 이론 설명부터 핵심을 짚는 프로젝트 해설까지 버릴 내용이 하나도 없는 책이랍니다.

 

 

마지막 프로젝트는 조금 더 특별합니다. 스노우 AI 앱 아시죠? 해당 기능과 유사한 사진을 만화 주인공 캐릭터로 변환하는 프로그램을 직접 만들어 볼 거예요.

 

사전에 Image to Image Translation이나 #CycleGAN 에 대해 검색하면 도움이 됩니다. CycleGAN에 대해 간략하게 설명을 드리면 두 장 사진의 스타일을 변환하는 작업입니다. 한 사진의 분위기를 다른 사진에 그대로 입히는 기술이라고 할 수 있죠. CycleGAN의 등장으로 두 개의 사진이 일치하지 않아도 인공지능이 한 사진의 이미지를 학습해 다른 사진의 스타일을 변환할 수 있게 됐습니다. 재미있죠?

 

 

이 기술 전신에 적용해 볼까요? 헬스 없이 나를 마동석으로 만들어 주는 필터를 만들 수도 있고 장원영의 메이크업 스타일만 가져와서 내 사진에 입힐 수도 있습니다. 가상 장원영 커버 메이크업이 가능해지는 거죠!

 

 

재미있는 사진 변환 딥러닝 프로젝트에 도전하고 싶다면 《한 줄씩 따라 해보는 파이토치 딥러닝 프로젝트 모음집》 을 참고해 보세요. 이 책에는 사진 애니메이션 변환 프로젝트외에도 작물 잎 사진으로 질병을 분류하기, 실시간 비명 감지 시스템, 딥러닝을 이용해 수능 영어 풀기, 아이돌 무대 자동 교차편집 생성까지 호기심을 자극하는 꿀잼 프로젝트가 다수 수록돼 있습니다.

 

프로젝트를 따라 하다 보면 보람과 배움의 기쁨을 느낄 수 있고 어느새 AI 개발에 자신감을 갖게 되는 나를 발견하게 될 거예요. 개발자라면 더는 도전을 미룰 수 없는 AI 개발 《한 줄씩 따라 해보는 파이토치 딥러닝 프로젝트 모음집》 으로 시작해 볼까요?

 

*위 모든 내용은 도서 《몬테카를로 시뮬레이션으로 배우는 확률 통계》,
《파이썬으로 만드는 나만의 게임》,
《한 줄씩 따라 해보는 파이토치 딥러닝 프로젝트 모음집》,
《예제부터 배우는 거꾸로 파이썬》을 참고해 작성했습니다.

 

▶책 보러 가기

 

《몬테카를로 시뮬레이션으로 배우는 확률 통계》

 

몬테카를로 시뮬레이션으로 배우는 확률통계 with 파이썬 - YES24

몬테카를로 시뮬레이션을 기반으로 기초 확률 개념 이해부터 파이썬을 활용한 과정 기반 데이터 예측 실습까지 다룬 학습서이 책은 확률 통계 학습을 위한 기초 수학 개념부터 파이썬을 활용해

www.yes24.com

《파이썬으로 만드는 나만의 게임》

 

파이썬으로 만드는 나만의 게임 - YES24

Pygame을 통하여 기초 예제부터 심화 예제까지실습이 아닌 놀이처럼 배우는 파이썬『파이썬으로 만드는 나만의 게임』은 파이썬의 기초 지식과 응용 지식을 함께 함양한다. 기본 문법과 연산자,

www.yes24.com

《한 줄씩 따라 해보는 파이토치 딥러닝 프로젝트 모음집》

 

한 줄씩 따라 해보는 파이토치 딥러닝 프로젝트 모음집 - YES24

이미지, 텍스트, 음성, 영상 등 실생활 데이터를 활용한실전 딥러닝 프로젝트 모음집!시중에 딥러닝을 가르쳐주는 입문책은 많습니다. 하지만 실제로 우리가 흔히 다루는 날것의 데이터를 활용

www.yes24.com

《예제부터 배우는 거꾸로 파이썬》

 

예제부터 배우는 거꾸로 파이썬 - YES24

실생활에 쓸모 있는 것만 만든 비전공자 개발 노트IT 비전공자라도 프로그래밍 문법을 몰라도재미있게 코딩하고 원하는 것을 직접 만든다!이 책은 독학으로 코딩을 공부한 저자가 만든 여섯 가

www.yes24.com

 

관련글 더보기

댓글 영역