Python image

파이썬(Python) 바로 알기 – 특징, 장점, 활용 사례

Python(이하 파이썬)은 직관적이고 간결한 문법으로, 프로그래머들은 물론 비전공자들 사이에서도 최근 가장 주목받는 언어입니다. 

간단한 유틸리티 제작을 넘어 웹 프로그래밍과 4차 산업 혁명의 중심인 머신러닝, 사물 인터넷(IoT)과 데이터 분석 등 다양한 분야에 활용되며 최신 트렌드에 가장 맞닿아 있기 때문입니다.

아래에서는 파이썬의 특징 및 장점, 그리고 활용 사례에 대해 알아보도록 하겠습니다.

파이썬 소개

파이썬은 1991년 귀도 반 로섬(Guido van Rossum)이라는 프로그래머에 의해 개발된 언어로, 가독성이 높고 쉬운 문법 덕택에 다른 프로그래밍 언어보다 빠른 습득이 가능하다는 특징이 있습니다. 그 덕에 프로그래밍을 전공하지 않은 비전공자 중심으로 인기를 얻어 데이터 분석과 모델링을 다루는 통계학부터 딥러닝과 인공지능을 활용하는 의학에까지 다양한 분야에 두루 활용되고 있습니다.

검색량을 기준으로 프로그래밍 언어 선호도를 조사하는 TIOBE index에서 2021년 2월 기준 파이썬은 선호하는 프로그래밍 언어 3위(10.86%)를 차지했으며, 오라일리 미디어가 온라인 학습 플랫폼의 학습 과정 및 사용자 선호도를 분석해 발표한 프로그래밍 언어 순위에서는 파이썬이 Java와 C++을 제치고 가장 높은 사용률을 보였습니다. (출처: TIOBE Index for February 2021)

파이썬의 특징

특징 1. 스크립트 언어(Script language)

파이썬은 컴파일 과정 없이 인터프리터(Interpreter, 해석기)가 소스 코드를 한 줄씩 읽어 들여 곧바로 실행하는 스크립트 언어(Script language)입니다. 그 때문에 컴파일 과정이 필요하지 않아 실행 결과를 바로 확인하고 수정하면서 손쉽게 코드를 작성할 수 있습니다.

컴파일 언어와 스크립트 언어의 차이점은?

컴파일 언어는 ‘컴파일’이라는 과정을 통해 프로그래머(인간)이 작성한 코드를 기계어로 번역해 실행하는 언어입니다. 
반면 스크립트 언어는 별도의 ‘컴파일’ 과정 없이 인터프리터가 소스 코드를 한 줄씩 읽어가며 바로 실행하는 언어를 의미합니다.

컴파일 언어는 소스 코드를 컴파일하는 과정을 거쳐야 하므로 실행 및 수정에 비교적 많은 시간을 소요하지만, 한 번 기계어로 번역되면 빠른 실행 속도를 보여줍니다. 스크립트 언어는 컴파일 없이 곧바로 실행하므로 결과를 바로 확인하고 빠르게 수정할 수 있지만, 번역과 실행이 동시에 이뤄져 컴파일 언어보다 느린 실행 속도를 보입니다.
특징 2. 동적 타이핑(Dynamic typing)

파이썬은 동적 타입 언어입니다. 변수의 자료형을 지정하지 않고 단순히 선언하는 것만으로도 값을 지정할 수 있습니다. 이때 변수의 자료형은 코드가 실행되는 시점에 결정됩니다. 자료형 변환 시 번거로운 과정을 거치지 않아도 된다는 장점이 있지만, 코드 실행 도중 예상하지 못한 타입으로 인한 에러가 발생할 수 있는 특징이 있습니다.

변수의 타입(자료형)이란?

특정 변수에 저장하고자 하는 데이터의 종류를 사전에 정의한 것을 의미합니다. 데이터의 종류는 크게 문자숫자로 나뉘고, 숫자정수실수로 세분됩니다. 이렇게 특정 변수에 저장하려는 값은 종류별로 나눈 것이 변수의 타입(자료형)에 해당합니다. 

정적 타입 언어의 경우 프로그래머가 변수에 들어갈 데이터의 타입(자료형)을 명시해줘야 하며, 컴파일 시점에 변수의 타입이 결정됩니다. 반면 동적 타입 언어의 경우 변수의 타입(자료형)을 사전에 선언할 필요 없이 변수만 선언해 값을 지정할 수 있습니다.
특징 3. 플랫폼 독립적(Platform-independent)

파이썬은 리눅스(Linux), 유닉스(Unix), 윈도우즈(Windows), 맥(Mac) 등 대부분의 운영체제(Operating System, OS)에서 모두 동작합니다. 운영체제별로 컴파일할 필요가 없기 때문에 한 번 소스 코드를 작성하면 어떤 운영체제에서든 활용이 가능합니다.

파이썬의 장점

장점 1. 간결하고 쉬운 문법

파이썬은 인간의 사고와 유사한 문법을 지니고 있습니다. 그 때문에 많은 시간을 들이지 않고도 파이썬 문법을 학습할 수 있고, 프로그래밍을 전공으로 하지 않은 사람도 수일 내에 파이썬을 익혀 활용하는 것이 가능합니다.

아래 예시를 통해 타 프로그래밍 언어 대비 파이썬 문법이 얼마나 쉽고 간결한지 확인할 수 있습니다.

예시 1. 간단한 문구(Hello, gabia!) 출력

C++

#include <iostream>
using namespace std;
int main() {
   cout<<"Hello, gabia!";
   return 0;
}

Java

public class HelloGabia {
   public static void main(String args[]) {
     System.out.println("Hello, gabia!");
   }
}

Python

print(“Hello, gabia!”)
예시 2. 간단한 배열 출력

C++

#include <iostream>
using namespace std;
int main() {
   int arr[5] = {1, 2, 3, 4, 5};
  
   for(int i=0; i<5; i++) {
       cout << arr[i] << endl;
   }
   return 0;
}

Java

public class HelloGabia {
   public static void main(String args[]) {
     int arr[] = {1, 2, 3, 4, 5};
    
     for(int i=0; i<5; i++) {
         System.out.println(arr[i]);
     }
   }
}

Python

arr = [1, 2, 3, 4, 5]
for el in arr:
   print(el)

위의 코드 예시를 통해 파이썬이 C++ 및 Java와 비교했을 때 더 적은 코드로 동일한 작업을 수행할 수 있음을 확인 가능합니다.

장점 2. 빠른 개발 속도

쉽고 간결한 문법 덕택에 파이썬은 높은 생산성을 자랑합니다. 파이썬을 활용할 경우 더 적은 코드로 더 많은 작업을 수행할 수 있으며, 복잡한 구문으로 인한 오류 발생을 줄여 그 어떤 프로그래밍 언어보다 빠른 개발이 가능합니다.

장점 3. 높은 확장성 및 이식성

파이썬은 대표적인 글루(Glue) 언어(혹은 접착제 언어)에 해당합니다. 다른 언어나 라이브러리에 쉽게 접근해 연동할 수 있기 때문입니다. 높은 성능의 애플리케이션 개발이 필요한 경우 C/C++과 같은 언어를 파이썬과 결합해 사용할 수 있습니다. 이 경우 애플리케이션의 성능을 보장할 수 있으면서 동시에 별도 설치나 구성과정 없이 스크립트 언어의 장점 또한 함께 누릴 수 있습니다.

장점 4. 활발한 생태계

파이썬은 수많은 표준 라이브러리를 제공합니다. 그 덕에 프로그래머는 모든 코드를 일일이 작성할 필요가 없습니다. 예를 들어 특정 DB와 웹 서버를 연결해야 한다면 기존에 작성된 파이썬 표준 라이브러리를 활용하기만 하면 됩니다. 또한 폭넓은 생태계와 활발한 커뮤니티 활동으로 인해 빠르게 문제를 해결하고, 협업할 수 있다는 강점도 있습니다.

대표적으로 PyPI와 같은 웹사이트를 통해 프로그래머들이 스스로 작성한 파이썬 패키지를 공유하고, 다른 개발자가 배포한 패키지를 pip 명령어를 통해 간단하게 설치할 수 있습니다.

Python 활용 사례

많은 기업이 각기 다른 기능을 구현함에 있어 파이썬을 적극 활용하고 있습니다. 운영 중인 서비스에 파이썬을 활용하는 대표적인 기업은 아래와 같습니다.

Google(구글)

Google(구글)은 백엔드에 C++과 파이썬을 결합해 활용합니다. 짧은 대기 시간과 엄격한 메모리 제어가 중요한 스택에는 C++로 코드를 작성하고, 프로그램의 빠른 전달과 유지 관리가 필요한 부분에는 파이썬을 활용해 코드를 작성합니다.

Instagram(인스타그램)

Instagram은 파이썬으로 작성된 오픈 소스 웹 프레임워크 Django를 기본 서버 측 언어로 사용하고 있습니다.

Netflix(넷플릭스)

Netflix는 방대한 표준 라이브러리, 간결하고 깔끔한 구문, 대규모 커뮤니티, 풍부한 타사 라이브러리 등을 이유로 파이썬을 자사 서비스에 적극적으로 활용하고 있습니다.

Spotify(스포티파이)

음악 스트리밍 및 미디어 서비스 제공 업체 Spotify의 앱은 Python을 활용해 빌드되었습니다. Spotify 엔지니어는 Spotify 백엔드의 80%가 파이썬으로 작성되어 있다고 밝혔습니다.

Dropbox(드롭박스)

클라우드에 사진, 문서, 등의 파일 보관 및 공유 서비스를 제공하는 플랫폼 Dropbox는 외부 오픈 소스 코드와 자체 작성한 코드 모두에 파이썬을 사용하고 있습니다.
Dropbox는 크로스 플랫폼 지원, 가독성, 학습 용이성 등 파이썬이 지닌 장점 덕에 빠르게 서비스를 구현할 수 있었다고 밝혔습니다. 파이썬의 창시자인 귀도 반 로썸은 2012년부터 2019년까지 Dropbox에서 개발자로 재직하기도 했습니다.


살펴본 바와 같이 파이썬은 새로 프로그래밍을 배우는 일반인에게도, 그리고 실제 서비스를 운영하는 데도 효과적인 언어임을 알 수 있습니다.

아래의 포스팅에서 파이썬을 활용한 웹 파싱을 실습해볼 수 있습니다.

[파이썬 실습] BeautifulSoup와 requests 를 활용해 웹 파싱해보기

가비아 파이썬 호스팅은 도커 플랫폼 내 컨테이너 기반 환경으로 각 계정별 독립된 환경을 제공합니다.

아래 링크를 통해 가비아의 안정적인 파이썬 호스팅 서비스를 알아보세요.

[가비아 파이썬 호스팅 바로가기]