목차
1. Python(파이썬)이란
2. Python 특징
3. Python으로 가능한 것 vs 어려운 것
1. Python(파이썬)이란
- 정의
- 1990년 네덜란드 암스테르담에서 귀도 반 로섬(Guido Van Rossum)이 개발한 인터프리터 언어⭐
- 이름은 신화 속 뱀에서 유래 (재미 요소일 뿐 기술적 의미는 없음)
- 현재 위상
- 구글 내부 코드의 50% 이상 Python 사용
- Instagram, Netflix, Amazon 등 대형 서비스에서 사용
- 공동 작업과 유지 보수가 매우 쉽고 편리함
- 현재 AI/데이터 분석 생태계의 중심 언어
💡 "지금은 AI 시대이고, AI 대부분이 Python 기반이다."
2. Python 특징
| 1. 인간다운 언어 | 4. 무료 & 오픈소스 |
| 2. 상대적으로 간결한 문법 | 5. C와의 궁합이 좋음 |
| 3. 인터프리터 언어 | 6. 협업과 유지보수에 유리 |
1) 인간다운 언어
- 사람이 생각하는 방식을 그대로 표현 가능
2) 문법이 상대적으로 간결함
- C / C++ / Java 대비 규칙이 단순
- 불필요한 기호가 적음
- 들여 쓰기 구조로 표현하여 가독성 높임
3) 인터프리터 언어 ⭐
컴파일 언어 vs 인터프리터 언어
| 구분 | 컴파일 언어 | 인터프리터 언어 |
| 실행 방식 | 전체 변환 후 실행 | 한 줄씩 실행 |
| 대표 언어 | C, C++ | Python |
| 특징 | 규칙 엄격 | 비교적 유연 |
- 컴파일(Comopiled) 언어: 고급 언어(C, C++ 등)로 작성된 소스 코드를 저급 언어(기계어, 어셈블리어)로 번역하는 프로그램
- 인터프리터(Interpreter) 언어: 프로그래밍 언어의 소스 코드를 실행 시점에 코드를 해석하며 실행하는 컴퓨터 프로그램
- 한 줄씩 실행
- 상대적 개발속도 빠름
- 상대적 실행속도 느림
- 디버깅 용이
4) 무료 & 오픈소스
- 누구나 무료 다운로드 가능
- 생태계가 매우 큼
- 방대한 라이브러리 보유
5) C와의 궁합이 좋음
- 뼈대는 Python
- 속도 필요한 부분은 C로 작성
- “예: NumPy는 내부적으로 C로 구현된 부분이 많아 빠른 수치 연산을 지원”
6) 협업과 유지보수에 유리
- 코드 가독성 높음
- 팀 프로젝트에 적합
- 모듈화 구조 우수
3. Python으로 가능한 것 vs 어려운 것
| 가능한 것 | 어려운 것 |
| - 데이터 분석 - 머신러닝 /딥러닝 - 웹 프로그래밍 - 데이터베이스 프로그래밍 - 시스템 유틸리티 제작 - 기타 (GUI, C/C++연동, IoT) + 수치 연산 프로그래밍 |
- 시스템 레벨 프로그래밍(운영체제, 초고속 연산 등) - 모바일 네이티브 앱 개발 |
3-1 데이터 분석
- 주요 라이브러리를 활용해 데이터 처리, 통계 분석, 시각화 손쉽게 수행 가능
- NumPy
- Pandas
- Matplotlib
- EDA (Exploratory Data Analysis)
- 데이터 정제
- 통계 분석
- 시각화
- 가설 도출
- 인사이트 추출
- 보안 분야 적용 예
- 로그 패턴 분석
- 이상 징후 탐지
3-2 인공지능과 머신러닝
- 자연어 처리, 음성 인식, 이미지 인식과 같은 인공지능 기술 구현
- 머신러닝 라이브러리
- scikit-learn
- TensorFlow
- PyTorch
- Keras
- 활용 예시
- 스팸 메일 판별
- 악성 URL 탐지
- 이상치 탐지
- 머신러닝 전체 흐름
데이터 수집 → 전처리 → 학습 → 평가 → 배포
3-3 웹 프로그래밍
- 파이썬은 웹 프로그램을 만들기에 매우 적합한 도구
- ex. FastAPI(REST API)
- 보안 관점
- API 취약점
- 입력값 검증
- 인증/인가 문제
3-4 데이터베이스 프로그래밍
- DB에 접근하기 위한 도구 제공
- MySQL
- PostgreSQL
- SQLite
- NoSQL
- Vector DB(최근)
- 자료를 변형 없이 그대로 파일에 저장하고 불러오는 파이썬 모듈 : 피클(pickle)
- 보안 관점
- SQL Injection 이해
- 동적 쿼리 작성 시 위험성
3-5 시스템 유틸리티 제작
- 운영체제(윈도우, 리눅스 등)의 시스템 명령어를 사용하는 도구를 통한 시스템 유틸리티 제작
3-6 기타 (GUI, C/C++ 연동, IoT)
- GUI(Graphic User Interface) 프로그래밍
- 화면에 윈도우 창을 만들고 프로그램을 동작시킬 수 있는 것
- 예) 티케이인터
- C/C++ 결합하기
- C나 C++로 만든 프로그램을 파이썬에서 사용 가능함
- 파이썬으로 만든 프로그램을 C나 C++에서 사용 가능함
- 사물인터넷(IoT)
- 라즈베리파이를 제어하여 사물 인터넷 구현이 가능함
3-7 시스템 레벨 프로그래밍
- 운영체제 개발
- 초고속 연산 필요 프로그램
- 하드웨어를 직접 제어하는 등의 프로그램에는 적합하지 않음
3-8 모바일 네이티브 앱 개발
- 안드로이드 네이티브 앱 개발은 아직 x
- 아이폰 앱 개발 못함
요약
파이썬은 크게 3가지에 쓰임
① Data 처리(빅데이터) ② AI 학습(학습 데이터 필요) ③ 데이터 분석
즉, 파이썬은 데이터 중심이며, 특히 속도보다 많은 데이터를 처리하는 쪽으로 특화되어 가고 있다.
총 정리 문제
1. 인터프리터 언어란?
2. 인터프리터 언어의 특징은?
3. 파이썬으로 할 수 있는 것과 없는 것은?
'Python' 카테고리의 다른 글
| 파이썬 | 문자열 포맷팅 완전 정리 (% 포맷팅, format(), f-string) (0) | 2026.03.04 |
|---|---|
| 파이썬 | 리스트 메서드(append, sort, reverse, index, insert, remove, pop, count, extend) (0) | 2026.03.04 |
| 파이썬 기초 3편 | 변수는 값을 저장하지 않는다? (객체와 동적 타이핑) (1) | 2026.03.04 |
| 파이썬 | 문자열 메서드(count, join, find, index, upper, lower, lstrip, rstrip, strip, replace, split) (0) | 2026.03.04 |
| 파이썬 기초 2편 | VS Code · Jupyter 환경 구축과 Venv (0) | 2026.03.03 |