공부 기록
[WEEK 1] Python 특징 본문
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