1. 파이썬의 발전 과정
- 네덜란드에서 태어난 Guido Van Rossum이 개인 프로젝트로 개발한 것으로 1991년에 오픈 소스 형태로 공개하였다.
- 파이썬 1.0은 1994년 개발되었으며, 야후에서 웹 메일 서비스를 개발하는 데에 사용되었다. 당시 야후는 긴급 웹 메일 서비스 개발이 필요했는데, 파이썬은 타 언어 대비 아주 빠르게 개발할 수 있었기에 파이썬으로 개발되었다고 한다.
- 2000년대에 개발된 파이썬 2.0은 가비지 콜렉션 시스템을 개선했고 유니코드 지원 서비스를 갖추었으며, Python Software Foundation이 설립되어 주요 라이브러리가 개발되었다.
- 파이썬 3.0은 2008년에 발표되었으며 개발자 커뮤니티와 오픈 소스 프로젝트의 증가로 다양한 라이브러리들이 등장하며 대중적인 인기를 끌게 되었다. 파이썬을 활용한 인공지능 라이브러리 중 가장 유명한 것은 Tensorflow와 Pytorch이다. (2024년 기준 가장 최신 버전은 Version 3.21.1이다.)
- 파이썬은 최근 20년 동안 가장 빠르게 확산된 프로그래밍 언어로 2000년대 초반 3% 수준에서 22년 현재 33%의 사용률로 급성장하게 되었으며, C언어, JAVA와 함께 3대 프로그래밍 언어가 되었다. (파이썬이 발전한 가장 큰 계기는 다양한 라이브러리 덕분으로 알려져 있다.
2. 파이썬의 특징
- 파이썬은 간결하고 가독성이 높은 문법으로 C언어 및 JAVA 대비 배우기가 쉽다. C언어와 JAVA 작성 코드는 여러 개의 블록이 있는데, 이 블록은 중괄호 { }를 사용하여 구분해야 하고, 중괄호의 잘못된 사용이 가장 많은 에러 발생의 사유이다. 한편 C언어로 작성되는 코드가 10줄일 때 파이썬은 4줄 정도로 아주 간결하며, 다른 언어와 달리 중괄호 { }를 사용하지 않고, 들여쓰기(indentation)를 통해 블록을 구분한다.
- 파이썬은 다양한 용도로 사용이 가능한데, 예를 들어 업무 목적에 딱 맞는 소프트웨어가 없는 경우 파이썬을 활용하여 쉽게 개발을 진행할 수 있다.
- 예를 들어 경쟁 출판사에서 나온 신간 도서 리스트를 정기적으로 수집하고 어떤 분야인지 확인하고자 할 때, 파이썬을 활용하면 크롤링 >> ML 모델 구현을 통한 분야 결정 >> Pandas에 저장 / 시각화를 통해 업무 시간을 획기적으로 단축할 수 있다.
- 파이썬은 인터프리터 언어로 소스 코드에 대응는 기계어 코드가 존재하지 않으며, 컴퓨터가 이해할 수 있는 코드로 번역해서 실행하여야 한다. (한편 대부분의 소프트웨어는 C언어, JAVA 등의 컴파일러 언어로 개발되었다)
- 파이썬은 동적 데이터 타입으로 코드를 실행하기 전에 데이터 타입을 정해줄 필요가 없고 코드 실행 중간에도 타입을 바꿀 수 있다. 타 프로그래밍 언어는 정적 타이핑으로 코드 실행 이전에 데이터 타입을 결정해 줘야 하며, 코드를 실행하는 동안에 형식을 바꿀 수 없는 불편함이 있다.
- 데이터 타입 : 정수형 integer, 실수형 real, 문자형 char
- 고수준의 언어로 사람이 이해하기 쉽고 가독성이 좋아 빠르게 프로그램을 개발할 수 있다.
- 다양한 커뮤니티를 지원하고, 플랫폼과 관계없이 호환성이 매우 좋다는 장점이 있다.
- 파이썬 커뮤니티
- 파이썬 튜토리얼 : https://docs.python.org/ko/3
- GitHub 파이썬 소스 코드 : https://github.com/python
- 파이썬 PEP : https://peps.python.org/pep-0008
- 파이썬 커뮤니티 포럼 : https://www.python.org/community/forums/
- 파이썬 커뮤니티
- 파이썬은 웹 크롤링 라이브러리, 웹 개발 라이브러리, 데이터 분석 라이브러리, 시각화 라이브러리, 인공지능 라이브러리 등 다양한 전문 분야의 라이브러리를 제공하고 있다.
- 웹 크롤링 라이브러리 : Request, BeautifulSoup, lxml, Scrapy, Selenium
- 웹 개발 라이브러리 : Tornado, Django, Flask, Bottle, CherryPy, FastAPI
- 데이터 분석 라이브러리 : Pandas, Numpy, SciPy
- 시각화 라이브러리 : Seaborn, Matplotlib
- 인공지능 라이브러리 : TensorFlow, Scikit-learn, PyTorch
- 파이썬은 다중 패러다임을 제공하는 언어로 절차 지향, 함수형, 객체 지향 패러다임을 모두 가지고 있다.
- 절차 지향 프로그래밍 : 순차적으로 실행되는 명령어 집합을 중심으로 프로그래밍
- 함수형 프로그래밍 : 주어진 함수를 변수에 할당 가능하며, 함수를 조합하여 신규 함수 생성 가능
- 객체 지향 프로그래밍 : 객체들의 상호작용으로 모델링하는 방법으로 코드의 재사용성이 높고 유지보수가 쉬움
3. 파이썬 개발 환경
- 파이썬을 웹에서 활용하고자 하는 경우, Google Drive에서 Google Colaboratory를 추가하여 활용할 수 있다.
- 파이썬을 로컬에서 활용하고자 할 경우, 파이썬 홈페이지에 접속하여 download가 필요하다.
'통계와 빅데이터' 카테고리의 다른 글
[ 파이썬컴퓨팅 ] 변수와 print문 (0) | 2024.09.01 |
---|---|
[ 파이썬컴퓨팅 ] 컴퓨팅 사고 (2) | 2024.08.31 |
텍스트 빅데이터 (2) - 단어의 표현과 언어 모형 (3) | 2024.08.31 |
텍스트 빅데이터 (1) - 자연어 처리 기술과 텍스트 전처리 (6) | 2024.08.31 |
빅데이터의 수집과 활용 (2) - 웹크롤링과 API (4) | 2024.08.31 |