Python Basics for AI
1-2. 파이썬 개요
1) Python의 시작
Python은?
- 1991년 귀도 반 로섬이 발표
- 플랫폼 독립적
- 인터프리터 언어
- 객체 지향
- 동적 타이핑 언어
- 처음 C언어로 구현되었음
Python 개발자 귀도 반 로섬
- 1989년 크리스마스에 할 일이 없어 파이썬 개발(???)
- 'Monty Python's Flying Circus' → 파이썬 이름 유래
- 구글, DropBox, MS 근무
- 자비로운 종신 독재자(파이썬의 개선사항 최종 의사결정자), 지금은 사임하셨음(악플ㅠ-ㅜ)
2) 파이썬의 특징
플랫폼 독립적
- 플랫폼 = OS : 윈도우, 리눅스, 안드로이드, 맥OS, iOS 등 프로그램이 실행되는 운영체제를 플랫폼이라고 함
- 독립적인 = 관계없는, 상관 없는
- 즉 OS에 상관없이 한 번 프로그램을 작성하면 사용가능 →왜?어떻게?→ 인터프리터 언어이기 때문
인터프리터 언어
- 인터프리터 = 통역기
- 소스코드를 바로 실행할 수 있게 지원하는 프로그램 실행 방법
- 코드 → 인터프리터(운영체제 상에서 돌아가게 해석) → 실행
- Python은 인터프리터만 운영체제에 깔려 있다면 문제 없이 돌아감
* 컴파일러 vs 인터프리터
| 항목 | 컴파일러 | 인터프리터 |
| 작동방식 | 소스코드를 기계어로 먼저 번역 해당 플랫폼에 최적화되어 프로그램을 실행 |
별도의 번역과정 없이 소스코드를 실행시점에 해석하여 컴퓨터가 처리할 수 있도록 함 |
| 장점/단점 | 실행속도가 빠름/ 한번의 많은 기억 장소 필요 |
간단히 작성, 메모리가 적게 필요/ 실행속도가 느림 |
| 주요 언어 | C, 자바, C++, C# | 파이썬, 스칼라 |
| 동작 과정 | 소스코드 ->컴파일러->어셈블러->CPU(연산) | 소스코드 -> 인터프리터 -> CPU |
객체 지향적 언어
- 실행 순서가 아닌 단위 모듈(객체) 중심으로 프로그램을 작성
- 하나의 객체는 어떤 목적을 달성하기 위한 행동(method)와 속성(attribute)을 가지고 있음
동적 타이핑 언어
- 프로그램이 실행하는 시점에 프로그램이 사용해야 할 데이터에 대한 타입을 결정
3) 왜 파이썬인가?? - 쉽고 간단하며 다양하다.
쉽다, 간단하다 : 이해하기 쉬운 문법
- 사람의 시간이 기계의 시간보다 중요하다
다양하다 : 다양한 라이브러리
- 무엇을 생각하든 그것을 구현할 수 있다.
- Python은 대부분의 라이브러리가 이미 다른 사용자에 의해서 구현되어 있다(특히 통계, 데이터 분석)
이미 널리 쓰이는 : 어디에든 쓸 수 있는 언어
- 알파고, 아인슈타인 중력파 확인, 태양의 흑점을 볼 때에도 파이썬으로 프로그램을 구현
- 유투브, reddit,, 인스타그램, 각종 게임도 파이썬으로 구현된 부분 존재
Life is short. You need Python.
'부스트캠프 AI Tech 공부 기록 > Python' 카테고리의 다른 글
| [Python] Function and Console I/O (0) | 2022.01.31 |
|---|---|
| [Python] Variable & List : 변수와 리스트 (0) | 2022.01.23 |
| [Python] Jupyter Notebook & Colab (0) | 2022.01.18 |
| [Python] Coding Environment : 파이썬 코딩 환경 (0) | 2022.01.18 |
| [Python] Basic computer class for newbies (0) | 2022.01.18 |