안녕하세요:) 임오군란과 민씨팀의 임입니다.
오늘은 파이썬(Python)에 대해서 소개하려고 합니다.
파이썬은 1991년 귀도 반 로섬(Guido van Rossum)이 만든 배우기 쉽고, 강력한 프로그래밍 언어입니다.
플랙폼에 독립적이며 인터프리터식, 객체지향적, 동적 타이핑 대화형 언어입니다. 또한 C, C++, Java와 같은 프로그래밍 언어보다 훨씬 배우기 쉽고 문법도 간단한 언어입니다.
개요
파이썬은 *동적 타이핑 범용 프로그래밍 언어로, Perl, Ruby와 자주 비교된다. 다양한 플랫폼에서 쓸 수 있고, 라이브러리(모듈)가 풍부하여 대학을 비롯한 여러 교육기관, 연구 기관 및 산업계에서 이용이 증가하고 있습니다. 또 파이썬은 순수한 프로그램 언어로서의 기능 외에도 다른 언어로 쓰인 모듈들을 연결하는 접착제 언어로써 자주 이용된다. 실제 파이썬은 많은 상용 응용 프로그램에서 스크립트 언어로 채용되고 있다.
*동적 타이핑(Dynamic Typing) - 자료형을 컴파일이 아닌 런타임 시 결정하는 것으로, 자료형의 명시 없이 변수명만 가지고 선언 및 값을 전달하는 것이 가능
특징
- 스크립트 언어
파이썬은 컴파일 과정 없이 *인터프리터(Interpreter, 해석기)가 소스 코드를 한 줄씩 읽어 들여 곧바로 실행하는 스크립트 언어(Script language)입니다. 그 때문에 컴파일 과정이 필요하지 않아 실행 결과를 바로 확인하고 수정하면서 손쉽게 코드를 작성할 수 있습니다. - 동적 타이핑
파이썬은 동적 타입 언어입니다. **변수의 타입(자료형)을 지정하지 않고 단순히 선언하는 것만으로도 값을 지정할 수 있습니다. 이때 변수의 자료형은 코드가 실행되는 시점에 결정됩니다. 자료형 변환 시 번거로운 과정을 거치지 않아도 된다는 장점이 있지만, 코드 실행 도중 예상하지 못한 타입으로 인한 에러가 발생할 수 있는 특징이 있습니다. - 플랫폼 독립적
파이썬은 리눅스(Linux), 유닉스(Unix), 윈도우즈(Windows), 맥(Mac) 등 대부분의 운영체제(Operating System, OS)에서 모두 동작합니다. 운영체제별로 컴파일할 필요가 없기 때문에 한 번 소스 코드를 작성하면 어떤 운영체제에서든 활용이 가능합니다.
*인터프리터(Interpreter) - 소스 코드를 한 줄씩 읽어가며 바로 실행하는 언어를 의미
**변수의 타입 - 특정 변수에 저장하고자 하는 데이터의 종류를 사전에 정의한 것을 의미. 크게 문자와 숫자로 나뉘고, 숫자는 정수와 실수로 세분
장점
1. 간결하고 쉬운 문법
- 파이썬은 인간과 유사한 형태의 문법을 가지고 있어 많은 시간없이도 사용자가 문법을 학습할 수 있습니다.
2. 빠른 개발속도
- 파이썬은 쉽고 간결한 문법으로 높은 생산성을 가지고 있습니다. 더 적은 코드로 더 많은 작업을 수행할 수 있으며, 간결한 구문을 통해 오류 발생을 줄여 빠른 개발이 가능합니다.
3. 높은 확장성 및 이식성
- 파이썬은 앞서 개요에서 설명드린 대로 접착제 언어에 해당합니다. 다른 언어나 라이브러리에 접근하여 연동이 가능하여 높은 성능의 애플리케이션 개발에 경우 여러 언어와 결합해 사용합니다.
4. 활발한 생태계
- 파이썬은 표준 라이브러리를 제공받아 모든 코드를 일일이 작성할 필요가 없습니다. 또한 폭넓은 생태계와 활발한 커뮤니티 활동으로 인해 빠르게 문제를 해결하고 협업할 수 있다는 강점도 있습니다.
단점
1. 속도의 한계
- 파이썬은 인터프리터 형식으로 한 줄씩 실행되어 실행이 느립니다. 한줄씩 읽으며 파이썬 코드를 컴퓨터가 이해할 수 있는 언어로 해석하여 프로그램이 실행되기 때문에 실행이 컴파일 언어에 비해서 많이 느립니다. 빠른 속도를 요하는 프로젝트에는 적합하지 않은 언어 일 수 있습니다.
2. 모바일 컴퓨팅에 취약
- 파이썬은 스마트폰 애플리케이션을 만들 때는 거의 사용되지 않습니다.
3. 디자인 제약
- 파이썬은 동적 타이핑 언어입니다. 변수의 타입을 선언하지 않아 프로그래머들의 입장에선 편하지만 많은 런타임 에러를 발생시키기도 합니다.
오늘은 파이썬의 개요와 특징 그리고 장단점에 대해서 알아보았습니다. 다음 주를 기대해주세요:)
'IT KNOWLEDGE' 카테고리의 다른 글
IT 자격증의 기본! 정처기(정보처리기사)에 대해서 알아봅시다 (0) | 2022.05.18 |
---|---|
Storage / bus / 대역 (0) | 2022.05.16 |
인프라 관리자가 봐야 할 컴퓨터 부품 선정(3) (0) | 2022.05.12 |
커널 / 큐 (0) | 2022.05.12 |
ITIL Foundation Certifications 자격증에 대해 알아보자! (0) | 2022.05.09 |
댓글