Python이란?
오픈소스 소프트웨어라 누구나 자유롭게 사용하고 수정 및 배포가 가능함.
인터프리터 방식의 객체지향적 프로그래밍 언어로 동적의미체계를 가지고 있다.
용도: 웹 개발, 데이터 분석, 인공지능, 머신러닝, 자동화 스크립트 작성 등 다양한 용도로 사용될 수 있다.
Pros: 다른 언어와 호환성이 좋고 사용자 친화적임.
Cons: 다른 컴파일 언어보다 실행속도 느리고 메모리 소모가 많아 대규모 시스템에서는 비효율적.
모바일 환경에서는 최적화가 부족해 활용도가 낮다고 함.
-
파이썬 학습 후 다른 프로그래밍 언어 학습 시 진입장벽이 높게 느껴질 수 있다고..
(어려우면 쉽게 포기하는 나란 인간..아마 다른 언어는 배울 일이 없을 듯..;;)
Python을 쓰는 이유는 배우기 쉽기 때문에 + AI관련 서비스들이 대부분 파이썬으로 만들어져 있기 때문.
우리는 AI/LLM을 배울거기 때문에..Python이 기본기가 되는 거임. 마치 영어를 배울 때 영어 문법과 단어를 알아야 하는 것 처럼.
파이썬을 학습하기 위해 설치한 것들:
- Anaconda (Miniconda)
(http://www.anaconda.com/download/)
- 나는 Anaconda 다운로드 용량이 너무 커서 아나콘다의 최소한의 기능만 담은 라이트 버전인 Miniconda를 설치하였다.
- Anaconda/Miniconda는 Python을 편하게 쓸수 있도록 도와주는 패키지 관리, 환경관리 도구로 가상 환경을 구축 및 관리할 수 있게 도와주는 툴이다.
- 가상환경이 왜 필요한지? -> 프로젝트마다 필요한 라이브러리가 다르고 버전이 달라서 Python 버전과의 호환문제로 인해 가상환경을 구축하는 것이 필요하다. 프로젝트마다 다른 패키지버전을 써야 할 때 conda create로 독립환경을 뚝딱 생성 가능.
- Pandas, NumPy, Matplotlib 등 데이터분석에서 자주 사용하는 라이브러리가 기본으로 설치되어 있기 때문에 유저가 별도로 설치할 필요가 없다. 순수 Python만 설치하게 되면 NumPy, Pandas, Matplotlib, Seaborn과 같은 데이터분석 필수패키지를 일일이 설치해야하는데, 아나콘다는 이걸 한방에 해결해준다.
- 주피터노트북 포함. 브라우저에서 바로 실행 가능하다.
- Jupyter Lab (JupyterNotebook)
- 주피터노트북은 대화형 개발환경으로, 주피터노트북의 환경을 사용하기 위해 아나콘다 프롬프트를 실행 후 아나콘다 가상환경을 주피터 커널에 등록하였다.
- 역할: 코드 + 설명 + 결과를 한 문서에 담는 대화형 노트북
- 코드셀 / 마크다운 셀 / 그래프 출력을 한 문서로!
- shift + enter 로 한 줄씩 실행하며 실행 결과를 볼 수 있다.
- VS Code (Visual Studio Code)
- 주피터노트북 + 고급 코드편집기 + Git통합 까지 가능한 코드에디터
- Jupyter Notebook을 VS Code안에서 열어서 쓸수 있고 확장 설치하면 .ipynb파일 바로 열리기 때문에 브라우처 주피터가 필요없다.
- 자동완성, 디버깅, Git연동까지 IDE급 기능을 갖추고 있다.
- AI Assistant 기능도 있어서 에러가 났을 때 물어보면 어드바이스도 해준다.
- Miniconda 설치 → Anaconda (5GB) 대신 Miniconda (500MB)를 설치했기 때문에 conda 명령어 + 가상환경 + 기본파이썬만 깔렸다.
- Anaconda Prompt 열고 Jupyter Notebook 설치 → 미니콘다 기본에는 주피터가 없어서 추가로 설치함.
- VS Code + Python/Jupyter 확장설치 → Python 3.12 ver. 설치했음.
to be continued.