본문 바로가기
프로그래밍/Python

[Python/파이썬] 파이썬에 대해서

by 별준 2020. 7. 30.

- 파이썬이란? 

파이썬Python은 1990년에 개발된 인터프리터 언어로 객체지향적이며 동적 타이핑 시스템을 가지고 있는 대화형 언어입니다(Perl, Ruby와 유사). 또한, 플랫폼에 독립적입니다.

파이썬은 컴퓨터 프로그래밍 교육에서도 많이 사용되지만, 실무에서도 많이 사용되는 언어입니다. 다양한 플랫폼에서 사용할 수 있고, 라이브러리(파이썬에서는 모듈이라고 부름)가 풍부합니다. 

 

파이썬은 '가장 아름다운 하나의 답이 존재한다'를 기본으로 하고 있습니다(Perl의 '하나 이상의 해결법이 존재한다'와 대비). 이 내용은 https://www.python.org/dev/peps/pep-0020/ 에 잘 정리되어 있습니다.

 

 

- 파이썬의 특징

나는 언어 자체의 특성으로는 파이썬이 아래 두 가지 특징으로 설명된다고 생각합니다. 그 이상은 파이썬 문법이나 사용법에서 나타나는 특징으로 보이고, 공부를 하면서 더 알아봐야겠습니다.

 

1. 순수한 객체지향 언어이다.

루비를 설명하면서 인간의 사고와 닮아 있는 언어라고 했었는데, 파이썬 또한 마찬가지입니다. 파이썬은 인간의 사고 체계와 매우 닮아 있기 때문에 문법이 매우 쉽고, 직관적입니다.

파이썬에는 원시 타입(Primitive Type)이 없고, 모든 것이 객체로 취급됩니다. 클래스, 함수, 상수, 모든 것이 객체로 취급되는 것이죠. 

1
2
= 10
= 20
cs

위와 같은 상수 할당문이 있을 때, 변수 x에 10이라는 값이 할당된 것이 아니라 x가 10이 저장된 상수 객체를 가리키는 것을 의미합니다. C나 C++의 포인터 연산과 동일하다고 보면 됩니다. x에 대입되는 값이 20으로 변경할 경우, x가 가리키는 대상이 20이 저장된 상수 객체로 바뀐 것입니다.

2. 만능 언어이다.

사실상 파이썬은 못하는 것이 없습니다. 웹 사이트 서버 구현(Python Web Framework : Django, Flask, Bottle 등), 머신러닝 알고리즘, 얼굴인식 등 많은 것들을 파이썬으로 할 수 있습니다. 다만, 실행 속도가 상대적으로 느린 편이라, 빠른 속도가 필요한 프로그램 작성에는 한계가 있습니다. 기계어로 컴파일하여 사용하는 C, C++보다는 당연히 느리며, 동적 언어들과 비교해도 속도가 빠른 편은 아닙니다. 

점프 투 파이썬에서 정리한 파이썬의 특징이 깔끔하게 잘 정리되어 있는 것 같습니다. 

 

다음 글부터 우선 파이썬 기초에 대해서 알아보겠습니다.

궁금한 부분은 아래 공식 레퍼런스 사이트를 참조하면 됩니다.

https://docs.python.org/3/reference/index.html

 

The Python Language Reference — Python 3.8.5 documentation

 

docs.python.org

 

- reference

https://namu.wiki/w/Python

https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%B4%EC%8D%AC

댓글