본문 바로가기
Programming/Python

Python 이란

by 공부합시다홍아 2021. 11. 13.
python, 파이썬
 
파이썬은 1991년 귀도 반로섬(Guido van Rossum)이라는 프로그래머에 의해 개발된 언어로, 가독성이 높고 쉬운 문법 덕택에 다른 프로그래밍 언어보다 빠른 습득이 가능하다는 특징이 있습니다. 그 덕에 프로그래밍을 전공하지 않은 비 전공자 중심으로 인기를 얻어 데이터 분석과 모델링을 다루는 통계학부터 딥러닝과 인공지능을 활용하는 의학에 까지 다양한 분야에 두루 활용되고 있습니다.
 
검색량을 기준으로 프로그래밍 언어 선호도를 조사하는 TIOBE index에서 2021년 2월 기준 파이썬은 선호하는 프로그래밍 언어 3위(10.86%)를 차지했으며, 오라일리 미디어가 온라인 학습 플랫폼의 학습 과정 및 사용자 선호도를 분석해 발표한 프로그래밍 언어 순위에서는 파이썬이 Java와 C++을 제치고 가장 높은 사용률을 보였습니다.
 
 
특징
 
스크립트 언어(Script language)
파이썬은 컴파일 과정 없이 인터프리터가 소스 코드를 한 줄씩 읽어 들여 곧바로 실행하는 스크립트 언어입니다. 그 때문에 컴파일 과정이 필요하지 않아 실행 결과를 바로 확인하고 수정하면서 손쉽게 코드를 작성할 수 있습니다.

 

컴파일 언어와 스크립트 언어의 차이점은?

컴파일 언어는 ‘컴파일’이라는 과정을 통해 인간이 작성한 코드를 기계어로 번역해 실행하는 언어입니다. 
반면 스크립트 언어는 별도의 ‘컴파일’ 과정 없이 인터프리터가 소스 코드를 한 줄씩 읽어가며 바로 실행하는 언어를 의미합니다.
컴파일 언어는 소스 코드를 컴파일하는 과정을 거쳐야 하므로 실행 및 수정에 비교적 많은 시간을 소요하지만, 한 번 기계어로 번역되면 빠른 실행 속도를 보여줍니다. 스크립트 언어는 컴파일 없이 곧바로 실행하므로 결과를 바로 확인하고 빠르게 수정할 수 있지만, 번역과 실행이 동시에 이뤄져 컴파일 언어보다 느린 실행 속도를 보입니다.

 

동적 타이핑(Dynamic typing)

파이썬은 동적 타입 언어입니다. 변수의 자료형을 지정하지 않고 단순히 선언하는 것만으로도 값을 지정할 수 있습니다. 변수의 자료형은 코드가 실행되는 시점에 결정됩니다. 자료형 변환 시 여러 과정을 거치지 않아도 된다는 장점이 있지만, 코드 실행 도중 예상하지 못한 타입으로 인한 에러가 발생할 수 있는 특징이 있습니다.

 

간결하고 쉬운 문법

파이썬은 인간의 사고와 유사한 문법을 지니고 있습니다. 그 때문에 많은 시간을 들이지 않고도 파이썬 문법을 학습할 수 있고, 프로그래밍을 전공으로 하지 않은 사람도 수일 내에 파이썬을 익혀 활용하는 것이 가능합니다.

 

빠른 개발 속도

쉽고 간결한 문법 덕택에 파이썬은 높은 생산성을 자랑합니다. 파이썬을 활용할 경우 더 적은 코드로 더 많은 작업을 수행할 수 있으며, 복잡한 구문으로 인한 오류 발생을 줄여 그 어떤 프로그래밍 언어보다 빠른 개발이 가능합니다.

 

높은 확장성 및 이식성

파이썬은 대표적인 글루(Glue) 언어(혹은 접착제 언어)에 해당합니다. 다른 언어나 라이브러리에 쉽게 접근해 연동할 수 있기 때문입니다. 높은 성능의 애플리케이션 개발이 필요한 경우 C/C++과 같은 언어를 파이썬과 결합해 사용할 수 있습니다. 이 경우 애플리케이션의 성능을 보장할 수 있으면서 동시에 별도 설치나 구성과정 없이 스크립트 언어의 장점 또한 함께 누릴 수 있습니다.

(위 python 역사 및 특징 내용 출처 : https://library.gabia.com/contents/9256/

 

가비아 라이브러리

IT 콘텐츠 허브

library.gabia.com

 

위 처럼 간단하게 파이썬의 역사와 특징들을 공부하였습니다.

C, C#, C++, JAVA, HTML 등 많은 언어를 다뤄봤지만, 구문 구성의 간단함과 간결함은 파이썬이 단연최고 인거 같습니다. 

728x90

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

연산자  (0) 2023.10.18
연산과 입력 함수 : input  (2) 2023.10.18
반복문과 조건문  (0) 2021.11.14
Array, List, Dictionary  (0) 2021.11.14
변수(Variable) 정의와 변수 선언  (0) 2021.11.14