본문 바로가기
python

[python] 파이썬 이란? (역사, 특징)

by 도토리묵 :D 2023. 3. 29.

오늘은 파이썬 공부의 첫 시간으로 파이썬이 무엇인지에 대해 알아보겠습니다.

파이썬은 쉽게 말해 프로그래밍 언어입니다. 근데 여기서 끝나면 안 되겠죠. 구체적으로 공부를 해서 알아보겠습니다.

 

저는 모든 분야의 공부를 하기 전에 역사부터 항상 살펴봅니다.

어떤 언어든 분야던 그게 탄생하게 된 배경을 살펴보는데 역사를 보는것 만큼 효과적인 게 없기 때문입니다.

 

그래서 전 파이썬의 역사 부터 특징까지 알아보겠습니다.

 

✅  파이썬 역사

 

Python은 1991년 Guido van Rossum이 처음 발표한 고급 프로그래밍 언어입니다. ABC 언어의 후속 언어로 개발되었으며 처음에는 코드 가독성에 중점을 두고 읽고 쓰기 쉽게 설계되었습니다. (실제로 저는 많은 언어를 사용해 보았지만 파이썬만큼 가독성이 좋은 즉, 사용자 친화적인 언어는 보지 못한 거 같습니다.)

 

그래서 Python은 단순성, 사용 용이성 및 다양성으로 인해 프로그래머들 사이에서 빠르게 인기를 얻었습니다. 현재 세계에서 가장 널리 사용되는 프로그래밍 언어 중 하나이며 웹 개발, 데이터 과학, 기계 학습 및 인공 지능을 포함한 다양한 응용 프로그램에서 선택되는 언어가 되었습니다.

 

Python의 인기는 사용 용이성, 다재다능함, 크고 활발한 개발자 커뮤니티에 의해 주도되었습니다. 간결한 구문으로 잘 알려져 있어 쉽게 쓰고 읽을 수 있을 뿐만 아니라 객체 지향, 기능 및 절차적 프로그래밍을 포함한 광범위한 프로그래밍 패러다임을 지원합니다.

 

이렇게 보면 좋은거는 다 가진 거 같아 보입니다. 아래의 특징을 살펴보면서 더 구체적으로 이야기해보려 합니다.

 

 

 

 

✅  파이썬의 특징

Python의 특징과 장점에 대해 알아보겠습니다. 아래와 같습니다.

 

1. 간결하고 읽기 쉬운 문법

Python은 간결하고 읽기 쉬운 문법을 가지고 있습니다. 들여쓰기를 통해 블록 구조를 표현하기 때문에 코드의 가독성이 높습니다. 또한 Python은 C나 Java와 같은 다른 언어에 비해 적은 양의 코드로도 같은 기능을 구현할 수 있습니다.

(근데 개인적으로 들여쓰기를 통해 블록 구조의 표현은 단점으로 느껴지기도 합니다. 다른 언어는 중괄호로 구분하여 함수나 클래스 별로 구분이 쉬운데 파이썬은 들여 쓰기만으로 모든 것들을 구분해야 해서, 함수나 클래스가 많아졌을 때 너무 보기 힘들었던 점이..ㅎㅎ)

 

2. 다양한 모듈과 패키지

Python은 다양한 모듈과 패키지가 존재합니다. 이러한 모듈과 패키지는 파이썬에서 제공되는 기능을 확장하거나, 다양한 작업을 수행할 수 있는 라이브러리입니다.

ex) NumPy는 과학 기술 계산을 위한 라이브러리이고 pandas는 대표적인 데이터 분석을 위한 라이브러리입니다~

 

3. 객체 지향 언어

Python은 객체 지향 언어입니다. 클래스(class)와 객체(object)를 지원하여 코드의 재사용성과 유지보수성을 높일 수 있습니다.

 

4. 플랫폼 독립적 언어

Python은 크로스 플랫폼 언어입니다. 즉, 파이썬으로 작성된 코드는 Windows, macOS, Linux 등 다양한 운영체제에서 실행할 수 있습니다.

 

5. 대화형 셸

Python은 대화형 셸(interactive shell)을 지원합니다. 이는 코드를 입력하고 즉시 실행 결과를 확인할 수 있는 환경을 제공합니다. 이 덕분에 코드를 쉽게 실험하고 디버깅할 수 있습니다.

 

6. 커뮤니티

파이썬은 커뮤니티가 다양하고 활발합니다. 이를 통해 새로운 아이디어를 얻을 수도 있고 관련 문제를 해결하기가 쉽다는 장점이 있습니다.

 

 

 

1~6번까지의 특징은 장점 위주로 이야기를 했는데 이어서 단점이 될만한 것들도 나열해보겠습니다.

 

7. 속도가 다른 언어에 비해 느리다

파이썬은 C나 Java와 같은 언어에 비해 실행 속도가 느릴 수 있습니다. 이것에 대한 이유로는 파이썬의 인터프리터 구조와 동적 타입 지정 때문입니다. CPU를 많이 사용하는 애플리케이션에서는 성능 문제가 간혹 발생할 수 있습니다. 그렇지만 속도 차이는 대부분의 경우 요즘 하드웨어가 좋기 때문에 실제 문제가 되지도 않고 체감도 크게 안됩니다.

 

8. 메모리 사용

파이썬은 많은 메모리를 사용할 수 있습니다. 특히 큰 데이터셋을 다룰 때 문제가 될 수 있습니다. 이를 해결하기 위해 NumPy나 Pandas와 같은 라이브러리들이 있습니다.

 

9. GIL 제한

GIL은 Global Interpreter Lock의 약어로, 여러 개의 스레드가 파이썬 바이트코드를 한 번에 하나만 사용할 수 있게 락을 거는 것을 의미한다. GIL은 동시성 처리를 제한하여 멀티스레딩 작업을 할 때 성능에 영향을 미칠 수 있습니다.

 

10 메모리 관리 문제

파이썬은 자동으로 메모리를 관리해서 사용합니다. 이게 장점으로 개발자가 메모리를 직접 관리하지 않아도 되지만, 메모리 누수와 같은 문제가 발생할 수 있습니다.

 

11. 코드 읽기 어려움

위에서 말했지만 코드가 가독성이 좋으면서도 안 좋을 수 있는 게 들여 쓰기와 같은 구문적 요소를 매우 중요하게 다루기 때문에 코드 단락별 함수별로 구분이 어려울 때가 많습니다. (눈이 아파요 ㅜ 하지만 가독성이 좋다는 말도 맞음!)

 

 

 

 

이번시간에는 여기까지 파이썬의 역사와 특징 파이썬이 뭔지에 대해 알아보았습니다.

다음 시간에는 파이썬 언어에도 예쁘게 쓰는 규칙(PEP 8 style guide for python code) 이 있는데 이것에 대해 알아보는 시간을 가져보겠습니다.

 

댓글