이전 차시인 CT강의에 대해서는, 문제가 점점 코딩에 맞춰지고, 알고리즘을 짜는 문제들이 나오기 시작했기에 애초에 프로그래밍을 모르면 풀기 어려울 것 같았다. 그러므로, 문제들의 대략적인 흐름만 확인한 후, 파이썬 프로그래밍을 먼저 수강하는 것이 도움이 될 것이라 생각했다.
여기선 파이썬 프로그래밍에 대한 정리를 하려고 한다.
1. 파이썬(Python)이란?
■ 특징
- 학습속도가 빠름
- 수행 결과를 빠르게 확인 가능
- 확장 기능 지원
- 다양한 플랫폼에서 사용 가능
- C, C++등에 비해 처리속도가 느리지만 하드웨어 등 성능 향상 및 특정 부분에서 C 등을 활용함으로써 격차를 줄임
- 독립적이며 인터프리터 방식의 객체지향이며 동적인 대화형 성격을 가진 언어.
- 가독성을 중시함.
- 메모리 관리를 Garbage Collector를 이용.
- 라이브러리가 풍부함
- XML처리, 통신 프로토콜, CSV파일 처리, DB 접속, GUI , 구문 분석 도구 등등...
- 문자열은 유니코드를 이용.
- 오픈소스임
■ Python의 종류
- CPython : C로 구현된 파이썬 (표준적으로 사용됨)
- IronPython : C#으로 구현된 파이썬
- Jython : Java로 구현된 파이썬
- PyPy : 파이썬으로 구현된 파이썬
■ 유니코드란?
- 문자열을 표현하는 대표 코드 중 하나로, 다른 건 아스키(ASCII) 코드가 있음.
- 유니코드는 16비트로 표현.
- 아스키 코드는 7비트로 표현.
- 각 나라별 언어를 모두 표현하기 위해 만든 통합 코드체계로, 65,536자 표현 가능.
- 예를 들어, 한글 "가"는 유니코드로 AC00로 표현.
■ 대표적 프레임워크
- django : 회원가입, 사용자 인증 등 공통 기능 제공
- Flask : 간단한 웹 서비스, 모바일 서버 구축에 적합
- Beautiful Soup : 웹 크롤링 라이브러리. 문서 수집, HTML 구문 분석, DOM 트리 탐색, 문서 분석 등.
- Scrapy : 웹 크롤링 프레임워크. 웹 문서에서 데이터 추출 규칙을 작성해서 필요 데이터 자동 추출 가능.
- NumPy : 다차원 배열 객체 지원. 선형대수, 푸리에 변환, 난수 생성 기능 제공.
- pandas : 데이터 분석 표준 라이브러리.
- SciPy : 수학, 과학, 엔지니어링 분야 사용.NumPy, pandas, Matplotlib, IPython, Sympy 등 포함.
- scikit-learn : 분류, 회귀, 군집, 자원축소와 같은 머신러닝 지원.
- TensorFlow : 구글이 공개한 머신러닝, 딥러닝 프레임워크. GPU 연산 지원.
- PYTORCH : 머신러닝, 딥러닝 프레임워크. GPU 연산 지원. 모델 훈련이, 빠르고 실시간 결과값 시각화 가능.
■ 파이썬 설치 및 실행
- 파이썬 홈페이지를 통해, Python 3.x 의 최신버전 설치.
- Python 3.13 (64-bit) 는 REPL(Read-Eval-Print-Loop) 방식의 파이썬 쉘.
- IDE, IDLE(Integrated DeveLopment Environment)는 통합 개발 환경이라는 의미.

- IDLE는 코드 힌트와 자동 완성 기능이 제공됨.
- [Tap] 혹은 [Ctrl + Space]를 누르면 코드 힌트 목록이 표시됨.
- [File] -> [New File] 혹은 [Ctrl + n]으로 코드 편집 가능. 코드 입력 후 [File] -> [Save] 혹은 [Ctrl + s]를 통해 저장 가능.
- [Run] -> [Run Module] 혹은 [F5]로 코드 실행 가능. 실행된 코드 결과는 IDLE에 출력.
- 설치 시에 [Add Python to PATH]를 체크하였기에, 명령 프롬프트에서도 파이썬을 사용 가능.
■ 파이참 개발 환경
- PyCharm (파이참)
- 커뮤니티 버전을 이용시, 무료로 이용 가능.

- 파이참 프로젝트 파일
- 파이썬 코드 파일, 각종 리소스 파일들로 구성.
- 파이참 실행 후, 새 프로젝트 버튼을 통해 프로젝트 생성 가능.
- 코드 작성 후 [실행] → [실행] 혹은 [Shift + F10] 이나 [Alt + Shift + F10] 으로 코드 실행 가능.
- 코드 작성 후에는 디버깅 과정을 거쳐야 함.
- 중단점(브레이크 포인트) 지정 → 프로그램 실행 정지 → 메모리에 저장된 값 확인 → 실행 재개
- 중단점 설정은 행 번호를 클릭하면 가능. 행이 빨간 점으로 표시.
- 디버깅은 [실행] → [디버그] 혹은 [Shift + F9] 나 [Alt + Shift + F9]로 가능.
- 이후 [실행] → [디버그 액션] → [스탭 오버] 혹은 [F8]을 통해 코드를 한 행씩 진행 가능.
- 디버그를 중단할 때는 [실행] → [디버그 액션] → [프로그램 재개] 혹은 [F9] 를 통해 가능.
- 소스 코드가 어떤 방식으로 인코딩되어 있는지도 중요. 파이썬 3.x에서는 utf-8이 기본. 소스코드 중에선 euc-kr 등으로 인코딩되어 있을수도 있으니, 그런 경우 오류가 발생할 수 있음.
- # coding: utf-8 등을 코드 최상단에 입력함으로써 소스코드 인코딩 가능.
- 파이썬은 문장 끝 세미콜론을 생략할 수 있으나, 한 행에 여러 문장 기술시에는 필요.
- 하나의 .py 파일을 모듈이라고 하며, 라이브러리 성격의 기능을 하는 것과 프로그램의 진입점 역할을 하는 것이 있음.
- 한 파일이 양쪽 역할을 할 경우, if문을 통한 분기 필요.
- 아래와 같은 경우, 해당 코드가 메인으로 실행된 경우에만 실행됨.
if __name__ = "__main__":
print("Hello World")
2. 중간 정리
계속 이리갔다 저리갔다 하는 것 같지만, SWEA에서 2개 강의를 듣고 입과 안내문을 다시 보니, 필수 학습 항목이 다른 쪽에 있었기에 그쪽으로 선회하고자 한다. 일단 여기서 배운 내용들도 잘 익혀둬야겠다!
'bootcamp' 카테고리의 다른 글
| 241230 점프 투 파이썬 (2) (1) | 2024.12.30 |
|---|---|
| 241229 점프 투 파이썬 (1) (0) | 2024.12.30 |
| 241226 SWEA 집합과 조합론 (1) | 2024.12.27 |
| 241225 SWEA 논리와 증명 (2) (2) | 2024.12.25 |
| 241223 SWEA 논리와 증명 (2) | 2024.12.24 |