초코레

[Python] Python이란 어떤 언어인가? 본문

Backend/Python

[Python] Python이란 어떤 언어인가?

초코레 2019. 4. 15. 14:26

플랫폼 독립적인 인터프리터 언어이다.

  • 플랫폼 = OS
  • 독립적인 = OS에 상관없이 한 번 프로그램을 작성하면 어디서든 사용가능
  • 인터프리터 = 소스코드를 바로 실행할 수 있게 지원하는 프로그램 실행방법

컴파일러 방식

  • 소스코드를 OS에 최적화하여 번역하여 프로그램을 실행
  • OS에 맞기 때문에 실행속도가 빠름
  • 번역과정이 있기 때문에 한 번에 많은 기억장소가 필요
  • C, JAVA, C++, C#

인터프리터 방식

  • 별도의 번역과정 없이 소스코드를 실행시점에 해석하여 컴퓨터가 처리할 수 있도록 함
  • 그렇기 때문에 코드를 간단히 작성하고 메모리가 적게 든다
  • 한줄 한줄 실행하기 때문에 실행속도가 느림
  • Python, Scala

프로그램은 사람이 알 수 있는 고급언어를 기계어로 변환한다.

마찬가지로 파이썬도 실행 시 어셈블러(01001100101....)와 같은 기계어 변환 과정을 거친다

(파이썬은 처음에 컴파일러 언어인 C로 작성됨)

 

객체지향적 동적 파이핑 언어이다.

  • 객체지향적(OOP) 언어 = 실행 순서가 아닌 단위 모듈(객체) 중심으로 프로그램을 작성함
  • 동적 파이핑 언어 = 프로그램이 실행하는 시점에 프로그램이 사용해야할 데이터에 대한 타입을 결정함, 이는 인터프리터 언어이기 때문에 가지는 특징

인간지향적인 간단한 문법을 가진다.

  • 다른 언어들에 비해 간단하고 직관적이다.

다양한 라이브러리와 넓은 활용범위를 가진다.

  • 대부분의 라이브러리가 이미 다른 사용자에 의해 구현되어 있음
  • 데이터 분석 관련 모듈들은 대부분 파이썬 기반으로 만들어져 있음
  • 통계, AI

가장 대중화된 언어이다.

 

개발환경

OS는 Windows10

파이썬 인터프리터

  • 파이썬을 번역해서 실행시켜주는 프로그램
  • 일반적인 파이썬, 기본 모듈 포함 → Python
  • 데이터 사이언스, 딥러닝과 같은 다양한 과학 계산용 모듈을 묶은 패키지(통합 인터프리터) → Anaconda, Canopy
  • Anaconda 중 Miniconda 사용

코드 편집기

  • text 파입의 문서 = 노트패드에서 열리는 문서
  • Atom 오픈소스 편집기 사용

'Backend > Python' 카테고리의 다른 글

[Python] 주석  (0) 2019.06.04
[Python] 조건문과 반복문  (0) 2019.05.01
[Python] List  (0) 2019.04.22
[Python] 화면 입출력, input(), print(), formatting  (0) 2019.04.20
[Python] 자료형, 연산  (0) 2019.04.15