등장배경
1991년 네덜란드 소프트웨어 엔지니어인 귀도 반 로썸이 만든 언어이다.
파이썬이라는 이름은 귀도가 좋아하는 코미디인〈Monty Python's Flying Circus〉에서 따온 것으로 인터프리터를 사용하는 객체지향 언어이자 플랫폼에 독립적인 동적 타이핑 대화형 언어이다.
특징
- 가독성 - 문법이 간결하고 들여쓰기를 기반으로 가독성이 좋음
- 풍부한 라이브러리를 바탕으로 무궁한 확장성
- 접착성 - C로 구현된 모듈을 쉽게 만들어 붙일 수 있음 ↔ 반대도 가능
- 유니코드 - 문자열이 모두 유니코드로 나타남
- 동적타이핑 - Dynamic Language, Interpreted Language
- 플랫폼 독립적 언어 - 모든 OS에서 동일하게 작동됨
⇒ 읽기 쉽고 빠르고 다목적
장단점
1. 장점
- 사용하기 쉽다
- 빠른 개발 속도
- 높은 확장성 및 이식성
- 활발한 생태계
2. 단점
- 느리다 ⇒ 버전이 올라가면서 개선되고 있음
- GIL(Global Interpreter Lock) : 하나의 스레드에 모든 자원을 허락하고 나머지 스레드에 락을 걸어 다른 스레드가 실행되지 않도록 막아버리는 기능
- 버전 3.12에서 해결이 됐다고 한다!
- 멀티프레씽, 멀티스레드로 해결가능
4. 개발 툴
1. PyCharm
-
JetBrains 사 제품
-
유료(학생용은 무료)
-
파이썬 개발에 특화된 개발 툴
-
파이썬 환경 방식
Virturalenv(가상환경), Pipenv, Poetry, Conda(Conda 밑에 envs로 PATH가 변경된다)
프로젝트 만들기 전에 라이브러리 설치하면 전역으로 설치되고, 프로젝트 생성 후에는 터미널을 열어서 해당 프로젝트 내에서만 쓸 수 있는 라이브러리도 설치 가능하다.
2. VSCode
- MS사 제품
- 무료
- 파이썬 개발 환경을 만들기 위해서 별도의 확장 프로그램 설치 필요
- Pycharm보다 상대적으로 빠름
3. Jupyter notebook & lab
- iPython → Jupyter 로 이름이 변경
- 기본 파이썬 쉘에 몇 가지 강력한 기능을 추가한 것
- 데이터 분석에서 주로 많이 사용
- 마크다운 방식으로 문서화 가능
- 내가 원하는 부분을 부분적으로 먼저 결과를 확인한 다음 코딩이 가능 → 주로 데이터 가공 시 사용
- 파일명 .ipynb 으로 생성됨
- VSCode에서 사용 시 주피터 노트북 관련 확장프로그램을 설치해야 함
- .ipynb 파일을 .py로 변경하려면 상단 … 버튼을 눌러 python script로 내보내기 하면 된다.
Jupyter lab 설치 방법
pip install jupyterlab
jupyter lab
4. Anaconda
- 통합 설치 프레임웍
- 주로 AI 딥러닝 개발, 데이터, 분석, 머신러닝 등에서 사용된다.
conda create -n YOUR_ENV_NAME
conda create --name YOUR_ENV_NAME python=3.6.5
conda --version
conda update
conda activate YOUR_ENV_NAME
conda deactivate
conda env list
멋져요!