일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 환경설정하기
- djangorest
- Django
- restfulapi
- 웹
- PYTHON
- virtual environment
- SOAP API
- rest framework
- restful
- restapi
- 장고
- REST
- server
- 서버구동
- secretkey
- url
- web
- 파이썬
- 서버설계
- 분리설정
- 환경분리
- 사용자인증
- API
- 서버 만들기
- migrations
- resful
- http
- django 시간 설정
- migrate
- Today
- Total
grape
파이썬 이란 본문
파이썬이란 ?
컴퓨터가 무언가를 하고 있다는 것은 어떠한 프로그램이 실행되고 있다는 것이다.
여기서 프로그램이란 컴퓨터를 움직이게 하는 명령어의 집합이다.
프로그램을 작성하기 위해 명령어를 체계화한 것이 프로그래밍 언어(Programming language)라고 불리는 인공 언어이다.
파이썬은 네덜란드 출신의 귀도 반 로섬(Guido van Rossum)이 개발한 프로그래밍 언어이다.
파이썬의 특징
파이썬은 오픈소스 소프트웨어이다. 따라서 무료로 사용할 수 있으며 파이썬을 만든 소스까지 공개되어 있다.
즉, 파이썬을 사용해 프로그램을 만드는 것뿐만 아니라 파이썬 자체의 내용까지 조사하거나 학습할 수 있다.
또한 파이썬은 멀티 플랫폼으로 Window, macOS, Linux 등 다양한 환경에서 동작한다.
가장 큰 특징으로는 폭넓은 분야에 적용할 수 있는 범용 언어이다. 프로그래밍 언언마다 각각 특화된 분야가 있다.
한 언어가 모든 분야에 완벽하게 적용되는 것은 아니다. 그러나 파이썬은 머신러닝, 딥러닝 등의 AI(인공지능) 분야, 데이터 분석, 과학 기술 계산, 웹 애플리케이션, GUI(graphic user inerface)등 다양한 분야에 특화되어 있다.
즉 쉽게 말해 멀티플레이어 같은 존재의 언어이다.
더욱이 파이썬은 다른 언어로 개발된 프로그램과 쉽게 결합할 수 있는 글루 언어(glue language)로 불린다.
따라서 파이썬이 처리하기 어려운 분야라면 그 분야에 특화된 언어로 개발하고 후에 파이썬으로 혼합하여 사용할 수도 있다.
스크립트 언어(Script Language)
파이썬은 컴파일 과정 없이 인터프리터(Interpreter, 해석기)가 소스 코드를 한 줄씩 읽어 들여 곧바로 실행하는 스크립트 언어(Script Language)이다. 그 때문에 컴파일 과정이 필요하지 않아 실행 결과를 바로 확인하고 수정하면서 손쉽게 코드를 작성할 수 있다.
컴파일 언어와 스크립트 언어의 차이점은?
컴파일 언어는 ‘컴파일’이라는 과정을 통해 프로그래머(인간)가 작성한 코드를 기계어로 번역해 실행하는 언어입니다.
반면 스크립트 언어는 별도의 ‘컴파일’ 과정 없이 인터프리터가 소스 코드를 한 줄씩 읽어가며 바로 실행하는 언어를 의미합니다. 컴파일 언어는 소스 코드를 컴파일하는 과정을 거쳐야 하므로 실행 및 수정에 비교적 많은 시간을 소요하지만, 한 번 기계어로 번역되면 빠른 실행 속도를 보여줍니다. 스크립트 언어는 컴파일 없이 곧바로 실행하므로 결과를 바로 확인하고 빠르게 수정할 수 있지만, 번역과 실행이 동시에 이뤄져 컴파일 언어보다 느린 실행 속도를 보입니다.
동적 타이핑(Dynamic typing)
파이썬은 동적 타입 언어이다. 변수의 자료형을 지정하지 않고 단순히 선언하는 것만으로도 값을 지정할 수 있다. 이때 변수의 자료현은 코드가 실행되는 시점에 결정된다. 자료형 변환 시 번거로운 과정을 거치지 않아도 된다는 장점이 있지만, 코드 실행 도중 예상하지 못한 타입으로 인한 에러가 발생할 수 있는 특징이 있다.
파이썬의 장점
1. 광범위한 라이브러리
다른 프로그래밍 언어와 마찬가지로 파이썬 자체만으로 할 수 있는 것은 한정되어 있다.
그러나 파이썬은 빠른 보급과 함께, 폭넓은 분야에 걸친 라이브러리 제공되어 다양한 분야를 프로그래밍할 수 있다.
2. 간결하고 쉬운 문법
파이썬은 인간의 사고와 유사한 문법을 지니고 있다. 그 때문에 많은 시간을 들이지 않고도 파이썬 문법을 학습할 수 있고, 프로그래밍을 전공으로 하지 않은 사람도 수일 내에 파이썬을 익혀 활용하는 것이 가능하다.
3. 빠른 개발 속도
쉽고 간결한 문법 덕분에 파이썬은 높은 생산성을 자랑한다. 파이썬을 활용할 경우 더 적은 코드로 더 많은 작업을 수행할 수 있으며, 복잡한 구문으로 인한 오류 발생을 줄여 그 어떤 프로그래밍 언어보다 빠른 개발이 가능하다.
4. 높은 확장성 및 이식성
앞서 파이썬의 특징에서 언급한 했던 부분으로 파이썬은 대표적은 글루(Glue) 언어에 해당한다. 다른 언어나 라이브러리에 쉽게 접근해 연동할 수 있기 때문이다. 높은 성능의 애플리케이션 개발이 필요한 경우 C/C++과 같은 언어를 파이썬과 결합해 사용할 수 있다. 이 경우 애플리케이션의 성능을 보장할 수 있으면서 동시에 별도 설치나 구성 과정 없이 스크립트 언어의 장점 또한 함께 누릴 수 있다.
파이썬의 단점
1. 속도
컴파일이 아닌 인터프리터 형식이며 동적 언어인 파이썬은 속도가 결코 빠르지는 않다. 그러나 주요 부분에 고속 라이브러리를 활용하면 나름대로 빠른 처리가 가능하다.
2. 모바일 컴퓨팅
파이썬은 많은 서버와 데스크톱 플랫폼에 존재하지만, 모바일 컴퓨팅에는 취약하다는 점이 있다. 실제로 파이썬으로 개발된 스마트폰 애 플라이 션의 거의 없으며 웹 애플리케이션의 클라이언트 측에서도 거의 볼 수 없다.
3. 런타임 에러
파이썬은 다른 언어들과 달리 실행할 때마다 컴파일을 진행한다. 이런 특성이 안 좋은 성능을 불러오고 정말 많은 테스트를 요구한다.
'프로그래밍 언어 > Python' 카테고리의 다른 글
파이썬의 정석 (1) (2) | 2021.05.27 |
---|---|
파이썬의 정석 ! (0) | 2021.04.16 |