본문 바로가기
Python/Python

파이썬의 이해

by curious week 2025. 3. 16.

파이썬(Python) 개요 및 특징 정리

1. 파이썬 역사

파이썬(Python)은 1991년 **귀도 반 로썸(Guido van Rossum)**이 개발한 프로그래밍 언어이다.
ABC 언어의 후속 언어로 시작되었으며, 간결하고 직관적인 문법을 목표로 개발되었다.

1.1 파이썬의 발전 과정

1991년 ABC 언어 후속으로 개발 시작
1999년 DARPA에 Computer Programming for Everybody 프로젝트 제안
2000년 Python 2.0 출시, 커뮤니티 중심 개발 체계 도입
2008년 Python 3.0 출시, 하위 호환성을 깨는 메이저 업데이트
현재 AI, 데이터 분석, 웹 개발, 사물인터넷(IoT) 등 다양한 분야에서 활용

파이썬(Python)이라는 이름의 유래
영국 코미디 그룹 Monty Python's Flying Circus에서 따온 것으로, 유머러스하고 친근한 느낌을 강조하기 위해 명명됨.

개발 초기 목적
파이썬은 분산 운영 체제 관리 및 시스템 관리 자동화를 위한 쉘 스크립트 언어로 개발됨.


2. 파이썬의 특징

파이썬은 다양한 프로그래밍 패러다임을 지원하는 다목적 프로그래밍 언어이다.

독립적 여러 운영체제(Windows, macOS, Linux 등)에서 실행 가능
오픈소스 누구나 무료로 사용 및 수정 가능
PEP(Python Enhancement Proposal) 파이썬 개선을 위한 제안 문서 (대표적으로 PEP8: 코드 스타일 가이드)
직관적 자연어와 유사한 문법으로 가독성이 뛰어남
신속성 빠른 개발 및 유지보수 가능
대형 개발자 커뮤니티 지속적인 지원과 다양한 라이브러리 제공
다양한 라이브러리와 프레임워크 데이터 분석, 웹 개발, 머신러닝 등 다양한 분야에서 활용 가능

다중 프로그래밍 패러다임 지원
파이썬은 명령형(Imperative), 절차적(Procedural), 객체지향(OOP), 함수형(Functional) 프로그래밍을 모두 지원한다.

다목적 활용 가능

  • 웹 개발: Flask, Django
  • 데이터 분석: Pandas, NumPy, SciPy
  • 인공지능/딥러닝: PyTorch, TensorFlow
  • 사물인터넷(IoT): Raspberry Pi, MicroPython
  • 과학기술/생명정보학: Astropy, BioPython

3. Pythonic

**"Pythonic"**이란 파이썬다운 코딩 스타일을 의미하며, 파이썬의 철학과 가이드를 따르는 코드 스타일을 뜻한다.

Pythonic 코딩 원칙 (Zen of Python, PEP 20)

import this

실행하면 아래의 가이드라인이 출력됨.

  • 명확하고 직관적인 코드 작성 (가독성 우선)
  • 간결한 표현 사용 (람다 함수, 리스트 컴프리헨션 활용)
  • 중복을 피하고 단순한 코드 작성
  • 명시적인 것이 암시적인 것보다 좋다 (Explicit is better than implicit)

4. 파이썬의 단점

성능이 느림

  • C, Java 같은 컴파일 언어보다 실행 속도가 느림
  • CPU 연산이 많은 프로그램에는 적합하지 않음 (C/C++로 구현된 라이브러리 사용으로 보완 가능)

완전한 독립 실행형 애플리케이션 개발이 어려움

  • 파이썬만으로 모든 기능을 개발하기보다는, 일부 로직을 Python으로 구현하고 주요 기능은 다른 언어와 결합하여 사용됨

5. 파이썬 실행 환경

파이썬은 플랫폼에 독립적이며, 다양한 운영체제에서 실행 가능하다.

5.1 실행 방식

인터프리터 방식 소스 코드를 한 줄씩 실행 (즉시 실행 및 디버깅 가능)
바이트코드 방식 .py → .pyc로 컴파일 후 실행
PVM (Python Virtual Machine) 바이트코드를 실행하여 기계어로 변환

파이썬 실행 과정

  1. 코드 작성 (.py 파일)
  2. 컴파일러가 바이트코드(.pyc) 생성
  3. 파이썬 가상 머신(PVM)이 바이트코드를 실행하여 기계어로 변환

파이썬 인터프리터 종류

CPython C 언어로 작성된 기본 파이썬 구현체
PyPy JIT(Just-In-Time) 컴파일을 지원하여 CPython보다 빠른 실행
Cython C 기반 코드로 변환하여 속도를 높이는 인터프리터
Jython Java 환경에서 실행되는 파이썬 구현체

6. 파이썬 프로그래밍 환경

파이썬을 실행하고 코드를 작성할 수 있는 다양한 개발 환경이 존재한다.

IDLE 기본 제공되는 파이썬 개발 환경
Jupyter Notebook IPython 기반의 오픈소스 웹 기반 개발 환경
Google Colab 클라우드 기반의 Jupyter Notebook 환경
VS Code Microsoft에서 제공하는 강력한 코드 편집기
PyCharm JetBrains에서 제공하는 Python 전문 IDE

Jupyter Notebook vs Google Colab

  • Jupyter Notebook: 로컬에서 실행 가능, 데이터 분석 및 머신러닝에 많이 사용
  • Google Colab: 클라우드에서 실행 가능, GPU/TPU 지원, 협업 가능

https://colab.research.google.com/

 

Google Colab

 

colab.research.google.com

최초 실행 시  5~10초 소요


7. 주요 라이브러리 및 프레임워크

파이썬은 방대한 라이브러리와 프레임워크를 제공하여 다양한 분야에서 활용 가능하다.

수치 연산 NumPy, Numba, SymPy
데이터 분석 Pandas, SciPy, scikit-learn
과학기술 Astropy, BioPython, SunPy
시각화 Matplotlib, Seaborn, Bokeh
웹 개발 Flask, Django
딥러닝/머신러닝 TensorFlow, PyTorch, Keras
import numpy as np

# NumPy를 이용한 행렬 연산
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
print(np.dot(a, b))  # 행렬 곱

 

'Python > Python' 카테고리의 다른 글

Python 기초  (1) 2025.04.10