독학개념 📖▶️ 파이썬

[파이썬 독학 개념 정리] | ⓵ 파이썬 소개 및 특징

코뮤니티 2020. 10. 28. 14:51

파이썬 (Python)

파이썬(Python)은 네덜란드의 프로그래머인 귀도 반 로섬(Guido van Rossum)이 개발한 프로그래밍 언어입니다. 그는 1989년 크리스마스가 있던 주에 자신이 출근하던 연구실의 문이 닫혀 있어서 취미 삼아 파이썬을 만들고, 이후 개발을 거듭하여 1991년에 파이썬을 외부에 공개하게 됩니다.

'파이썬'이라는 이름은 귀도가 좋아하는 코미디 〈Monty Python's Flying Circus〉에서 따온 것입니다. ( 참고로 파이썬의 로고 및 아이콘이 뱀 모양인 이유는 python의 원래 뜻이 비단뱀이기 때문! )

파이썬은 쉽고 간단하게 프로그램을 만들수 있고, 다양한 모듈과 라이브러리가 공유되어 인기가 많은 언어인데요, 최근 빅데이터, 머신러닝, AI와 같은 기술에서 사용되는 주요 언어이기도 합니다. 따라서 사용자 층이 더욱 넓어지고 있으며, 파이썬을 사용해 프로그램을 개발하는 업체들 또한 늘어 가고 있는 추세입니다!

파이썬의 특징은 플랫폼에 독립적이며 인터프리터식, 객체 지향적, 동적 타이핑(dynamically typed) 언어라는 점입니다.


특징 1. 파이썬은 플랫폼에 독립적 이다.

'플랫폼에 독립적'이라는 뜻은 특정 운영체제나 기계에 의존적이지 않다는 것을 의미합니다. 즉, 파이썬은 [ 어떤 운영체제든 상관없이 사용할수 있는 언어 ] 입니다.

플랫폼에 독립적이지 않은 언어의 경우, 컴퓨터의 하드웨어 마다 혹은 제조사에 마다 언어의 설계가 달라지게 되는 것이죠. 예를 들어, 플랫폼에 독립적이지 않은 C언어의 경우, 리눅스 운영체제에서 컴파일한 실행코드는 윈도우에서 사용할수 없습니다.

 

 


 

특징 2. 파이썬은 인터프리터 언어 이다.

'인터프리터 언어(Interpreted Language)'란 한 줄씩 소스 코드를 실행해서 바로 결과를 바로 확인할 수 있는 언어를 뜻합니다.

인터프리터 언어가 한줄씩 코드를 바로 실행할 수 있는 이유는 '컴파일 과정'을 거치지 않고 소스 코드가 해석기(인터프리터)에 직접 해석되어 실행되도록 구현되었기 때문입니다.

이와 반대되는 개념은 '컴파일 언어(Compiled Language)' 입니다. 컴파일이란 프로그램 소스코드를 기계어로 번역하는 것을 뜻하며, 대표적으로 C언어나 자바(java)가 이러한 특징을 가집니다.

 

인터프리터 : 코드 한 줄 한 줄씩 실시간으로 코드를 번역하여 실행 (코드 1줄 > 통역 > 사람)
컴파일 : 전체 코드를 모두 체크하고 한꺼번에 번역하여 실행 (코드 > 사람)
*인터프리터는 언어 해석의 과정에서 '통역' 이라는 과정이 추가되어 있기 때문에 컴파일 언어보다 실행 속도가 느립니다.

 

 


 

특징 3. 파이썬은 객체 지향적 이다.

'객체 지향적'이란 코드 작성의 순서와 상관없이 작성한 '객체'를 유동적으로 사용하는 방식으로 파이썬과 자바가 대표적입니다.

반대로 '절차 지향적'은 순서도 차트에 작성한것 처럼 시작에서 마지막 까지 순서대로 진행하는 방식으로 C언어가 대표적입니다.

 

절차(순서)지향 방식 : 본체에 바퀴를 단다  바퀴를 단 본체에 의자를 단다  자전거 완성

단 ,부품 하나가 잘못 연결되면 자전거를 통째로 고쳐야 합니다.

 

객체지향 방식 : 특정 기능을 가진 본체, 바퀴, 의자를 객체로 구분한다  부품(객체)들을 서로 연결한다  자전거 완성

만드는 순서 상관없이, 고장 난 부품만(객체) 교체 가능합니다.

 

 


 

특징 4. 파이썬은 동적 타이핑 언어 이다.

'타이핑'이란 프로그램 내에서 변수의 데이터 타입을 정의하는 것으로 정적(static) 또는 동적(dynamic) 타이핑으로 분류합니다.

파이썬의 특징인 동적 타이핑은 변수의 데이터 타입을 미리 선언할 필요 없이 실시간으로 타입을 확인하고 사용할 수 있도록 하는 방식입니다. 반대로 C나 C++과 같은 언어는 정적 타이핑으로, 변수의 데이터 타입을 미리 선언하고 컴파일시에 타입을 체크하는 방식입니다. 아래의 예시를 참고해 봅시다!

 

#파이썬 정수형 데이터 타입 변수 선언 코드

: 파이썬은 데이터 타입을 선언하지 않아도 실시간으로 타입이 확인됩니다.

number = 1      

 

//C언어 정수형 데이터 타입 변수 선언 코드

: C언어는 데이터 타입을 선언하고, 컴파일을 할 때 타입이 확인됩니다.

int number = 1;