티스토리 뷰
목차
1. Python이란?
: Python은 1991년 귀도 반 로섬(Guido van Rossum)이 만든 범용 프로그래밍 언어로 "코드가 아름답다"는 철학을 가진 언어이다.
- 특징
- 문법이 간결하고 읽기 쉬움
- 생산성이 뛰어나 빠르게 개발 가능
- 다양한 분야에서 사용 (웹, 데이터, 머신러닝, 자동화, IoT 등)
# Hello, World!
print("Hello, Python!")
2. Python의 핵심 특징
1. 인터프리터 언어
- 컴파일 없이 바로 실행 (python file.py)
- 빠른 테스트와 디버깅에 유리
2. 동적 타이핑(Dynamic Typing)
- 변수 타입을 명시 하지 않아도 자동 추론
x = 10 # int
x = "text" # str
3. 들여쓰기 기반 문법
- 괄호({}) 대신 들여쓰기(indent) 로 블록 구분 -> 깔끔하고 일관된 코드 유도
if True:
print("Yes")
else:
print("No")
4. 객체지향 + 함수 지원
- 클래스, 상속, 캡슐화 모두 지원
- lambda, map, filter, decorator 등도 내장
3. 백엔드에서의 Python 활용
: Python은 다음과 같은 백엔드 개발에 자주 쓰인다.
| 분야 | 설명 | 예시 |
| 웹 개발 | 웹 서비스, API 서버 개발 | Django, Flask, FastAPI |
| 데이터 처리 | 로그 처리 ETL, 크롤링 등 | Pandas, BeautifulSoup |
| 비동기 서버 | 고성능 웹 서버 | FastAPI, aiohttp |
| 테스트 | 유닛테스트, 통합테스트 | unittest, pytest |
4. Python이 백엔드에 적합한 이유
- 생산성 : 적은 코드로 많은 기능 구현
- 확장성 : 다양한 외부 라이브러리 존재(requests, sqlalchemy, celery)
- 커뮤니티 : 자료가 풍부하고, 문제가 생겨도 해결이 빠름
- 멀티 패러다임 : 절차형, 객체지향, 함수형 프로그래밍 지원
5. Python의 단점
| 단점 | 설명 |
| 느린 실행 속도 | 인터프리터 언어이기 때문에 컴파일 언어보다 느림 |
| GIL(Global Interpretet Lock) | 멀티스레딩 성능에 한계 존재 |
| 타입 안정성 부족 | 정적 타이핑이 없어 런타임 오류 발생 가능 |
그러나 웹 개발에서 이 단점들은 대부분 비동기 처리(AIO), 멀티프로세싱, 또는 다른 구조적 설계로 보완 가능
6. 실무에서 쓰이는 Python
- 스타트업 : 빠른 MVP 개발용 (Flask/FastAPI)
- 중소기업 : django 기반 관리자 페이지 + REST API
- 대기업 : 데이터 수집/분석용 스크립트, API 서버, ETL 자동화
- 글로벌 기업 : OpenAPI 기반 플랫폼 서비스, 백오피스 개발
7. 마무리 요약
- 문법이 쉽고 개발 생산성이 매우 높음
- Django/FastAPI 등 강력한 프레임워크와 함께 사용 가능
- 스타트업부터 대기업까지 다양한 규모에서 활용
- 백엔드 외에도 크롤링, 자동화, 데이터 작업까지 가능
🔜 다음 포스팅 주제로는 FastAPI - Python의 최신 비동이 웹 프레임워크
- 비동기 처리의 강점
- Swagger 자동 문서화
- Pydantic을 활용한 타입 안전성
- Flask와의 차이점