Python 소개
프로그래밍 언어
- 자연어는 같은 문장을 여러 의미로 해석할 가능성이 있음.
- 프로그래밍 언어는 문법과 의미를 제한하여 컴퓨터가 명령을 일관되게 처리하도록 설계.
- 프로그램: 프로그래밍 언어로 작성한 명령의 모음
Python
Python은 특정 분야에 한정되지 않는 범용 프로그래밍 언어.
- 간결한 문법: 코드의 구조를 비교적 쉽게 읽고 작성 가능
- 다양한 활용 분야: 데이터 분석, 인공지능, 업무 자동화, 웹 개발 등에 활용
- 풍부한 라이브러리: 자주 필요한 기능을 직접 만들지 않고 불러와서 사용 가능
- 높은 생산성: 짧은 코드로 아이디어를 빠르게 시험하고 결과 확인 가능
소스 코드와 기계어
- 소스 코드(source code): 사람이 읽고 작성할 수 있는 형태의 프로그램
- 기계어(machine code): 중앙 처리 장치(CPU)가 직접 실행할 수 있는 0과 1로 된 이진수 명령
- 컴파일러(compiler): 프로그램을 실행하기 전에 소스 코드를 다른 형태로 번역하는 프로그램
- 인터프리터(interpreter): 프로그램을 실행하면서 명령을 해석하고 처리하는 프로그램
가장 널리 사용되는 Python 구현인 CPython의 실행 과정.
Mermaid 다이어그램 원문
flowchart LR
B[소스 코드] --> C[Python 컴파일러]
C --> D[바이트코드]
D --> E[Python 가상 머신]
E --> F[실행 결과]
style C fill:#DBEAFE,stroke:#2563EB,color:#111827
style E fill:#DBEAFE,stroke:#2563EB,color:#111827대화형 다이어그램을 불러오기 전에는 원문으로 표시됩니다.
- 바이트코드(bytecode): Python 가상 머신이 처리할 수 있는 중간 명령
- Python 가상 머신(Python Virtual Machine): 바이트코드를 읽고 실행하는 CPython의 구성 요소
- CPU의 역할: 기계어로 만들어진 CPython 프로그램을 실행하여 바이트코드 처리
데이터 과학과 Python
Python을 이용하여 데이터를 불러오고, 변환하고, 분석하고, 시각화하는 전 과정을 하나의 언어로 처리 가능.
- 데이터 처리: 표, 문자열, 날짜와 같은 여러 형태의 데이터 가공
- 통계 분석과 시각화: 분석 결과를 수치와 그래프로 확인
- 머신러닝과 인공지능: 학습 데이터를 이용한 예측 모형 개발
- 자동화: 반복적인 파일 처리와 보고서 작성 자동화
분야별 라이브러리가 같은 Python 문법을 사용하므로 기초 문법을 익힌 뒤 여러 작업으로 확장 가능.
LLM과 Python
- 거대 언어 모델(LLM)을 Python 코드의 작성, 설명, 수정에 활용 가능.
- 관련 예제와 문서가 풍부하여 원하는 작업을 코드로 구체화하기에도 유리.
- ChatGPT 등의 서비스는 유료 계정의 경우 바로 Python 코드를 실행할 수 있는 환경을 제공하기도 함.
주피터 노트북
주피터 노트북(Jupyter Notebook)은 설명과 Python 코드를 한 문서에서 작성하고 실행하는 작업 환경. 노트북 파일의 확장자는 .ipynb.
퀴즈
자연어와 비교한 프로그래밍 언어의 특징으로 알맞은 것은 무엇인가요?
퀴즈를 풀려면 대화형 기능을 불러와야 합니다.