본문 바로가기

부스트캠프 AI Tech 공부 기록/Python

[Python] Python 제대로 알기 : 개요와 특징

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.