0. Python 소개
by NyangPolice
Python 소개
Python은 1991년 귀도 반 로섬(Guido van Rossum)이 만든 범용 프로그래밍 언어다. “읽기 쉬운 코드”를 철학으로 설계되었으며, 현재 웹 개발, 데이터 분석, 인공지능, 자동화 등 거의 모든 분야에서 널리 사용되고 있다. 이 글에서는 Python이 어떤 언어인지 전반적으로 살펴보고, 개발 환경을 세팅하는 것까지를 목표로 한다.
Python의 특징
1. 간결하고 읽기 쉬운 문법
Python은 코드의 가독성을 최우선으로 설계되었다. 같은 동작을 하는 코드를 다른 언어와 비교해보면 그 차이가 명확하다.
// Java
public class Main {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
# Python
print("Hello, World!")
중괄호나 세미콜론 없이, 들여쓰기만으로 코드 블록을 구분한다. 덕분에 코드가 간결하고, 처음 프로그래밍을 접하는 사람도 비교적 빠르게 읽고 이해할 수 있다.
2. 동적 타입 언어
Python은 변수를 선언할 때 타입을 명시하지 않아도 된다. 변수의 타입은 할당된 값에 따라 자동으로 결정된다.
x = 10 # 정수
x = "Python" # 같은 변수에 문자열 재할당 가능
이는 코드 작성을 빠르고 유연하게 해주지만, 프로그램의 규모가 커지면 타입으로 인한 버그가 발생할 수 있다. 이를 보완하기 위해 Python 3.5부터는 타입 힌트(type hint)가 도입되었다.
3. 풍부한 생태계
Python의 가장 큰 강점 중 하나는 방대한 라이브러리 생태계다. 표준 라이브러리만으로도 파일 처리, 네트워크 통신, JSON 파싱 등 많은 작업을 할 수 있고, 외부 라이브러리까지 포함하면 거의 모든 분야를 커버한다.
- 웹 개발: Django, Flask, FastAPI
- 데이터 분석: pandas, NumPy, Matplotlib
- 인공지능/머신러닝: TensorFlow, PyTorch, scikit-learn
- 자동화/스크래핑: Selenium, BeautifulSoup, requests
- 게임: Pygame
4. 인터프리터 언어
Python은 컴파일 없이 코드를 한 줄씩 해석하며 실행하는 인터프리터 언어다. 코드를 작성하고 바로 실행 결과를 확인할 수 있어 개발 속도가 빠르다. 다만 C나 Java 같은 컴파일 언어에 비해 실행 속도는 느린 편이다.
5. 크로스 플랫폼
Python은 Windows, macOS, Linux 등 주요 운영체제에서 동일하게 동작한다. 한 번 작성한 코드를 별도의 수정 없이 다른 플랫폼에서 실행할 수 있다.
Python 2 vs Python 3
Python은 크게 2.x 버전과 3.x 버전으로 나뉜다. Python 2는 2020년 1월에 공식 지원이 종료되었으므로, 지금 Python을 시작한다면 반드시 Python 3을 사용해야 한다. 이 시리즈의 모든 글은 Python 3을 기준으로 작성되었다.
개발 환경 세팅
Python 설치
Windows
- python.org에서 최신 버전 다운로드
- 설치 시 “Add Python to PATH” 체크박스를 반드시 체크
- 설치 완료 후 터미널에서 확인
python --version
macOS
macOS에는 Python이 기본 설치되어 있을 수 있지만, 최신 버전을 사용하는 것이 좋다.
# Homebrew를 통한 설치
brew install python
# 설치 확인
python3 --version
Linux (Ubuntu/Debian)
대부분의 Linux 배포판에는 Python이 기본 설치되어 있다. 없거나 버전이 낮은 경우 다음과 같이 설치한다.
sudo apt update
sudo apt install python3 python3-pip
# 설치 확인
python3 --version
코드 에디터
Python 코드를 작성하기 위한 에디터는 여러 가지가 있다. 입문자라면 다음 중 하나를 추천한다.
VS Code (Visual Studio Code) — 가볍고 확장성이 뛰어난 에디터다. Python 확장(Extension)을 설치하면 자동 완성, 디버깅, 린팅 등을 지원한다. 무료이며 가장 널리 사용된다.
PyCharm — JetBrains에서 만든 Python 전용 IDE다. 별도의 확장 설치 없이도 강력한 기능을 제공하지만, VS Code에 비해 무겁다. Community Edition은 무료로 사용할 수 있다.
설치 확인
에디터에서 다음 코드를 작성하고 실행해보자. 정상적으로 출력되면 개발 환경 세팅이 완료된 것이다.
print("Hello, Python!")
다음 단계
Python 설치를 완료하고 첫 코드를 실행해보았다. 다음 글부터는 본격적으로 Python 문법을 다루게 된다.
Phase 1: 기초 문법
- Python 기초: 변수와 데이터 타입 — 정수, 실수, 문자열, 불리언과 변수 선언
- Python 기초: 컬렉션 타입 — 리스트, 튜플, 딕셔너리, 셋
- Python 기초: 조건문과 반복문 — if/elif/else, for, while, 컴프리헨션
- Python 기초: 함수 — 매개변수, 반환값, 스코프, 람다
- Python 기초: 문자열 처리 — f-string, 주요 메서드, 슬라이싱, 정규표현식
Phase 2: 구조화
- Python 구조화: 모듈과 패키지 — import, 표준 라이브러리, pip, 가상환경
- Python 구조화: 파일 입출력 — 텍스트/CSV/JSON 파일 읽기와 쓰기
- Python 구조화: 예외 처리 — try/except, 내장 예외, 커스텀 예외
Phase 3: 객체지향
- Python 객체지향: 클래스와 객체 기초 — 클래스 정의, 인스턴스, 메서드
- Python 객체지향: 클래스 심화 — 상속, 매직 메서드, 프로퍼티, 데코레이터
Phase 4: 중급 활용
- Python 중급: 이터레이터와 제너레이터 — yield, 제너레이터 표현식, 메모리 효율
- Python 중급: 데코레이터와 클로저 — 클로저, 데코레이터 작성, 실용 예시
- Python 중급: 컨텍스트 매니저 — with문의 동작 원리, 커스텀 컨텍스트 매니저
Phase 5: 실무 기반
- Python 실무: 가상환경과 프로젝트 구조 — venv, pip, 프로젝트 디렉토리 구조
- Python 실무: 테스트 — pytest, 테스트 작성 패턴, 모킹
- Python 실무: 동시성 프로그래밍 — 스레딩, 멀티프로세싱, asyncio, GIL
앞으로 작성될 Python 포스팅에 대해서는 브라우저에서 직접 Python 코드를 테스트해볼 수 있도록 Pyodide를 이용한 Python 에디터를 글에 내장해두었다.
tags: python - 소개 - 입문Python 카테고리의 글 목록
-
-
-
0. Python 소개