관리 메뉴

공부 기록

[WEEK 1] Python 특징 본문

BOOST CAMP - AI Tech

[WEEK 1] Python 특징

_JAEJAE_ 2022. 9. 20. 18:33
 

Python 특징

1. 플랫폼에 독립적이다

플랫폼은 프로그램이 실행되는 운영체제를 말한다.
플랫폼에 독립적이라는 건 운영체제에 상관없이 작성된 프로그램을 사용할 수 있다는 의미이다.

2. 인터프리터 언어이다

인터프리터는 고급 언어로 작성된 프로그램을 한 줄 단위로 받아들여 번역하고, 번역과 동시에 실행시키는 프로그램이다.

3. 객체 지향 언어이다.

프로그램을 작성할 때 객체를 중심으로 작성하는 방법을 말한다.
하나의 객체는 속성(attribute)와 행동(method) 갖는다.

4. 동적 타이핑 언어이다.

데이터의 타입이 프로그램을 실행하는 시점에 결정된다.

ex. 다른 언어는 변수 선언 시 int a = 10; 과 같이 데이터 타입을 사전에 지정해줘야 한다. 
하지만 파이썬은 a = 10과 같이 작성하며 해당 변수의 데이터 타입은 프로그램 실행 시 결정된다.

컴파일러 VS 인터프리터

<컴파일러>

  • 실행 과정 : 고급언어로 작성된 코드를 전체를 한 번에 기계어로 변환하는 프로그램이다. 
    원시 프로그램 -> 컴파일러 -> 목적 프로그램
  • 수행 속도 : 번역 시간은 조금 걸리지만 수행 속도는 빠르다. 프로그램 전체를 한번에 번역하고 함께 수행한다.
  • 메모리 할당 : 메모리를 많이 사용한다. 프로그램을 번역한 뒤에 기계어를 저장하기 위해 메모리를 사용한다.
  • 주요 언어 : C, 자바, C++, C#

<인터프리터>

  • 실행과정 : 원시 프로그램 -> 인터프리터 -> 실행 명령문
  • 수행 속도 : 수행 속도가 느리다. 코드 한 줄씩 번역하고 수행한다.
  • 메모리 할당 : 메모리를 적게 사용한다.
  • 주요 언어 : 파이썬, 스칼라

절차 지향 프로그래밍 VS 객체 지향 프로그래밍

<절차지향 프로그래밍>

: 순차적인 처리를 중요시하는 프로그래밍 기법이다. 
컴퓨터의 처리구조와 유사하여 실행 속도가 빠르다. 
코드의 순서가 바뀌면 동일한 결과를 보장하기 어렵다. 
대표적인 언어로 C언어가 있다.

<객체지향 프로그래밍>

: 실제 세계의 사물들을 객체로 모델링하여 개발을 진행하는 프로그래밍 기법이다.  
캡슐화, 상속, 다형성 등과 같은 기법을 이용할 수 있다. 
절차지향 언어보다 실행속도가 느리다. 
대표적인 언어로 JAVA, Python 등이 있다.

'BOOST CAMP - AI Tech' 카테고리의 다른 글

[WEEK 1] Object-Oriented Programming  (0) 2022.09.23
[WEEK 1] Pythonic code  (2) 2022.09.23
[WEEK 1] Python - collections 패키지  (0) 2022.09.22
[WEEK 1] 자료구조  (2) 2022.09.21
[WEEK 1] 함수의 호출 방식  (0) 2022.09.20
Comments