Python

파이썬 기초 1편 | Python 정의·특징·활용 분야 한 번에 정리

SecLogs YJ 2026. 3. 3. 19:02
목차

1. Python(파이썬)이란
2. Python 특징
3. Python으로 가능한 것 vs 어려운 것

1. Python(파이썬)이란

  1. 정의
    • 1990년 네덜란드 암스테르담에서 귀도 반 로섬(Guido Van Rossum)이 개발한 인터프리터 언어
    • 이름은 신화 속 뱀에서 유래 (재미 요소일 뿐 기술적 의미는 없음)
  2. 현재 위상
    • 구글 내부 코드의 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. 파이썬으로 할 수 있는 것과 없는 것은?


 👉 파이썬 기초 2편 | VS Code · Jupyter 환경 구축과 Venv