반응형

파이썬(Python)은 최근 가장 큰 인기를 얻고 있는 프로그래밍 언어입니다. 하지만 아직 프로그래밍에 익숙하지 않다면 자연스럽게 이런 의문이 떠오릅니다.

 

파이썬으로는 어떤 걸 할 수 있어?
파이썬이 나한테 맞을까?
아니면 다른 언어를 배워야 할까?

 

특히 초보자의 경우 자신에게 어떤 언어가 맞는지 판단하기 어렵기 때문에 선택에 어려움을 겪는 경우가 많습니다. 

 

파이썬으로는 최근 많은 관심을 받고 있는 인공지능이나 데이터 분석 이외에도 웹 애플리케이션 등 매우 폭넓은 분야에서 활용할 수 있습니다. 

 

이 글을 끝까지 읽으신다면 파이썬이 어떤 특성을 가지고 있고 어떤 일에 활용할 수 있는지를 확인하실 수 있습니다. 

 

 

 

 

 

목차

     

     

     

     

     

     

     

     

     

     

     

    파이썬-으로-할-수-있는-것

     

     

     

    파이썬으로 할 수 있는 것은?

     

     

    웹 상의 이미지・텍스트 데이터의 자동 수집

     

     

     

    파이썬을 활용하는 가장 실용적인 방법 중 하나는 웹 상의 데이터를 모으는 스크래핑이라는 기술을 활용하는 것입니다. 

     

    스크래핑을 활용하면 웹 상의 이미지・텍스트 등의 데이터를 자동으로 수집할 수 있게 됩니다. 이 기술을 효율적으로 활용하는 것으로 정보 수집에 들어갔던 엄청난 시간을 절약할 수 있습니다. 

     

     

    AI와 머신러닝

     

     

    파이썬은 안정적이고 유연하지만 비교적 간단한 프로그래밍 언어라는 특성 덕분에 다양한 머신러닝(ML)과 인공지능(AI) 프로젝트에서 활용되고 있습니다. 

     

    실제 현장에서도 Python은 데이터 과학자들에게 가장 선호되고 있는 언어 중 하나입니다. 또한  Python으로 만들어진 머신러닝 및 인공지능(AI) 라이브러리나 패키지를 활용할 수 있는 것도 큰 장점입니다. 

     

     

    데이터 분석

     

    데이터 분석 역시 빠르게 발전하고 있는 분야이고 파이썬 활용이 크게 늘고 있습니다. 

     

    데이터가 생성되는 양은 점점 더 늘어나고 있기 때문에 이것을 수집하고 정리하고 구조화할 수 있는 사람의 필요성이 점점 더 높아지고 있습니다.  

     

    파이썬은 배우기가 비교적 쉬운 언어이고 유연한 언어입니다. 비교적 빠르게 배워서 활용할 수 있을 뿐 아니라 데이터 분석에 필요한 다양한 라이프러리와 패키지를 제공하고 있기 때문에 데이터 분석 분야에서도 큰 인기를 얻고 있습니다. 

     

    많은 양의 정보를 분석, 조작하고 반복적인 작업을 할 때 파이썬은 유용하게 활용할 수 있습니다. 

     

     

    데이터 시각화

     

    데이터를 시각화하면 의미를 더 쉽게 파악하고 새로운 아이디어를 얻을 가능성이 높아집니다. 수많은 데이터를 파악하기 쉽게 해설하는 역할을 하는 데이터 시각화 역시 매우 가파르게 성장하고 있는 분야입니다. 

     

    파이썬은 매우 다양한 기능을 갖춘 시각화 관련 라이브러리를 이미 갖추고 있습니다. 가장 많이 활용되고 있는 라이브러리로는 Matplotlib나 Seaborn 등이 있습니다. 

     

     

    핀테크 블록체인 기술 개발

     

    핀테크나 블록체인과 같은 최신의 기술에서도 파이썬이 활용되고 있습니다. 물론 파이썬만이 활용되는 것은 아니지만 기초가 되는 부분은 비교적 문법이 쉬운 파이썬이 담당하고 있다고 해도 될 것입니다. 

     

    파이썬의 가장 큰 장점 중 하나는 비교적 이해하기 쉬운 언어라는 점입니다. 파이썬을 통해서 블록체인에 접근을 한다면 비교적 쉽게 블록체인을 이해할 수 있을지도 모릅니다. 

     

     

    웹 애플리케이션 개발

     

    웹 개발을 고려한다면 파이썬(Python) 역시 좋은 후보입니다.

     

    파이썬은 웹 개발을 지원하는 프레임워크를 여러 개 갖추고 있기 때문입니다. 대표적인 웹 개발 프레임워크로는 장고(Django), 플라스크(Flask) 피라미드(Pyramid) 등이 있습니다.

     

    음악 서비스로 유명한 Spotifiy역시 서비스를 만드는데 이러한 프레임워크를 활용하고 있다고 합니다. 이외에도 드롭박스(Dropbox), 인스타그램(Instagram), 핀터리스트(Pinterest) 등이 파이썬을 이용해 응용프로그램을 만들었다고 합니다. 

     

     

    스마트폰 애프리케이션(Android) 제작

     

    파이썬이 뜨거운 관심을 받고 있는 경우는 인공지능이나 데이터 분석에서 두각을 나타내고 있기 때문입니다. 하지만 파이썬으로 스마트폰 앱 역시 만들 수 있습니다. 

     

    Android용 앱으로 한정된다는 아쉬움이 있기는 하지만 kiby라는 프레임워크를 활용하면 스마트폰 애플리케이션을 제작할 수 있습니다. 

     

     

    PC용 애플리케이션 제작

     

    웹 개발에 비하면 수요가 훨씬 적지만 PC용 애플리케이션도 만들 수 있습니다. 게임이나 자신이 PC에서 자주 하는 귀찮은 작업을 자동화하거나 WEB 애플리케이션을 PC에서 사용하기 쉽게 할 수도 있습니다. 

     

    잘 사용하면 업무 효율을 높일 수 있는 앱을 만들 수도 있기 때문에 의외로 많은 곳에서 PC용 앱이 활용되고 있을지도 모릅니다. 

     

     

    워드, 엑셀을 활용한 업무 자동화

     

     

    워드-엑셀-자동화

     

    PC용 애플리케이션에서도 업무 자동화를 언급을 했지만 파이썬을 이용해서 마이크로 소프트의 워드나 엑셀 작업을 자동화해서 업무를 효율화할 수 있습니다. 

     

    마이크로소프트에서 개발한 VBA로도 자동화를 할 수 있지만 일반적으로 파이썬이 배우기 훨씬 쉽다는 평판을 받고 있습니다. 

     

    VBA에 비해서 확장 가능성이 훨씬 크기 때문에 굳이 하나를 선택해야 한다면 파이썬을 선택하는 것이 효율적일 가능성이 높습니다. 

     

     

    게임 개발

     

    파이썬이 게임 개발에서 큰 인기를 얻고 있다고 할 수는 없지만 파이썬으로 게임을 개발하는 것 역시 가능합니다. 게임 개발에 파이썬이 활용되는 경우는 크게 두 가지입니다.

     

    첫 번째는 파이썬 언어를 배우는 단계에서 연습이나 포트폴리오 작성을 위해서 활용하는 것입니다. 이 때는 파이썬의 특성을 파악하고 넓게 활용하는 것이 중요한 목표가 됩니다. 

     

    두 번째는 게임 개발 현장에서 게임의 프로토타입(시제품)을 빠르게 만들어서 게임의 가능성을 판단하기 위해서입니다. 

     

    특히 게임에서는 매우 빠른 속도가 요구되는데 아쉽게도 파이썬이 가장 빠른 언어는 아니기 때문에 게임 업계의 표준으로 활용되기는 어렵습니다. 

     

     

    금융

     

    파이썬은 금융 업계에서 점점 더 많이 활용되고 있습니다. 파이썬을 이용해서 금융 데이터의 양적, 질적 분석을 하는 것입니다. 

     

    꼭 전문 애널리스트들 뿐만 아니라 개인도 여러 데이터를 통해서 자산의 가격 추이와 예측을 자동화하는데 활용할 수 있습니다. 

     

     

     

    검색 엔진 최적화(SEO)

     

    조금 생소한 분야일 수도 있지만 웹페이지나 키워드를 분류, 분석해서 검색 엔진 최적화(SEO)를 하는데 파이썬을 활용되기도 합니다. 

     

    ※ 검색 엔진 최적화(SEO)는 간단히 설명하자면 검색 엔진의 알고리즘에 가능한 맞는 웹페이지, 콘텐츠를 만들어서 상위 노출에 유리하게 만드는 것을 의미합니다. 

     

    검색 엔진 최적화는 인공지능의 일부분이라고 할 수 있는 자연어 처리(NLP) 같은 분야와도 연관이 있기 때문에 NLP 기술을 개발해 사람들이 검색하고 검색 엔진이 결과를 돌려주는 방법을 이해하는데 큰 도움이 될 수 있습니다. 

     

     

    디자인

     

    파이썬으로 할 수 있는 것 중 가장 예상하기 어려운 것이 디자인인 것 같습니다.

     

    좀 생소할 수 있지만 재스크 소프트웨어라는 회사가 출시한 Paint Shop Pro나 프리 소프트웨어 Gimp 같은 2D 이미지 소프트웨어에 파이썬이 사용되었다고 합니다. 

     

    이외에도 Lightwave, Blender, Cinema 4D 같은 3D 애니메이션 소프트웨어에서 활용된다고 하니 파이썬의 확장성을 잘 보여주고 있는 사례인 것 같습니다. 

     

     

    임베디드 애플리케이션 제작

     

    기계 심어서 프로그램을 동작시키는 '임베디드'라고 불리는 분야에서 파이썬(Python)이 사용되는 일도 있습니다.

     

    쉽게 접근할 수 있는 것은 '라즈베리 파이'라고 하는 학습용 소형 PC에서 파이썬을 활용하는 것인데요. 참고로 '라즈베리 파이'의 파이는 파이썬의 파이에서 따왔다고 합니다. 

     

    Python이 활용되는 경우도 있지만 기본적으로 임베디드 애플리케이션에서는 기계가 이해할 수 있는 언어에 가깝고 속도가 빠른 C언어나 C++가 활용되는 경우가 더 일반적입니다. 

     

     

     

     

     

     

    파이썬(Python) 주요 라이브러리

     

     

     

    웹 상의 이미지・텍스트 데이터 수집에 자주 활용되는 파이썬 라이브러리

     

    웹 상의 데이터 수집에서는 아래의 라이브러리가 자주 활용됩니다. 

    라이브러리 개요
    Beautiful Soup HTML 및 XML 파일을 처리해서 트리 형태로 데이터를 가져오기 위한 파이썬 라이브러리입니다. 

    파싱된 데이터 트리에서 정보를 탐색, 검색, 수정, 추출하는 방법을 제공합니다. 
    requests requests는 강력한 HTTP 라이브러리입니다. 직관적이고 간결한 API를 제공하고 있어서 비교적 사용이 편리합니다. 
    Scrapy 스크래피는 빠르고 수준이 높은 웹크롤링, 웹스크레핑 기능을 제공하는 프레임워크입니다. 

    웨사이트를 크롤링하고 해당 페이지를 구조화한 데이터를 추출할 수 있습니다. 
    urllib.request urllib.request는 URL을 여는데 도움이 되는 함수와 클래스를 갖추고 있는 라이브러리입니다. 기본 인증, 다이제스트 이증, 리다이렉션, 쿠키 등의 기능을 지원합니다.  

     

     

     

     

    AI, 머신러닝에 자주 활용되는 파이썬 라이브러리

     

    AI나 머신러닝 개발에서는 아래와 같은 라이브러리가 자주 활용됩니다.  

    라이브러리 개요
    케라스(Keras) 사용자 지향적으로 만들어진 API를 갖추어서 비교적 사용이 편리한 딥러닝 프레임워크입니다. 

    떠오른 아이디어를 빠르고 간단하게 실험해볼 수 있습니다. 
    텐서플로우(TensorFlow) 머신러닝을 위한 오픈소스 플랫폼입니다. 머신러닝을 기반으로 하는 애플리케이션을 구축하고 배포하는데 도움이 되는 포괄적이고 유연한 기능들을 갖추고 있습니다. 
    파이토치(PyTorch) 파이토치는 연구에서 프로토타이핑(시제품 만들기)을 빠르게 만들 수 있게 해주어서 실제 제품 배포를 촉진할 수 있게 해주는 프레임워크입니다. 
    사이킷런(scikit-learn) 지도학습, 비지도학슴을 지원하는 오픈 소스 기계학습 라이브러리입니다. 모든 사람이 쉽게 접근하고 다양한 상황에서 재사용할 수 있는 예측 데이터 분석 툴을 제공하고 있습니다.
    NLTK NLTK는 인간 언어 데이터로 동작하는 파이썬 프로그램을 만들기 위한 플랫폼입니다. 

    분류, 토큰화, 형태소 분석, 태깅, 구문 분석, 의미 추론 등을 위한 라이브러리를 제공하고 있습니다. 

     

     

     

     

    파이썬(Python)으로 하기 어려운 것은?

     

    파이썬은 매우 다양한 가능성을 지닌 언어이지만 파이썬에 맞지 않는 일들도 있습니다. 

     

    파이썬은 코드를 한 줄씩 읽어가는 인터프리터 언어이기 때문에 장치 드라이버 등과 같은 저수준의 디바이스와 상호작용을 하기는 어렵습니다. 파이썬으로 운영 체제를 작성하려고 한다면 곧 문제가 발생할 것입니다.  

     

    저수준의 응용 프로그램을 작성한다면 C언어나 C++을 사용하는 것이 좋습니다. 

     

    하지만 Python이 저수준 상호작용에도 문제가 없도록 기능을 확장하는 프로젝트(MicroPython, CircuitPython  등)를 진행하는 사람들이 있기 때문에 언젠가는 이 부분마저도 Python이 넘보게 될지도 모릅니다. 

     

     

     


     

     

    이상으로 파이썬으로 할 수 있는 것, 주요 라이브러리, 파이썬으로 하기 어려운 것에 대해서 알아보았습니다. 파이썬은 비교적 쉬운 문법과 다양한 라이브러리 기능을 갖추고 있기 때문에 매우 다양한 환경에서 활용되고 있습니다. 

     

    웹 상의 데이터를 모으는 것부터 데이터를 분류 분석하고 AI나 머신러닝을 개발하는 것, 웹 애플리케이션을 시작으로 각종 애플리케이션과 게임 등에까지 활용되고 있습니다. 

     

    파이썬은 매우 다양한 가능성을 가지고 있지만 예를 들어 운영체제 개발이나 게임 개발과 같이 저수준의 디바이스와 상호작용이 더 중요한 영역에 관심을 가지고 계시다면 C나 C++ 등 다른 언어도 충분히 조사해보고 결정하는 것을 추천합니다. 

     

    혹시 이미 파이썬을 배우기로 결정하셨다면 파이썬이 가지고 있는 다양한 가능성을 듬뿍 만끽하실 수 있으셨으면 좋겠네요.

    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기