파이썬3 바이블 책을 구입하여 파이썬 기초문법을 다시 공부하면서 블로그에 학습 내용을 정리하고자 한다.
아주 기초적인 수준부터 차근 차근 정리해 나갈 예정이며, 필요에 따라 학습 내용 중 중요한 내용만을 요약하여 포스팅 글을 기록할 예정이다.
* 파이썬 프로그래밍 언어의 특징
1. 대화식 인터프리터 언어
- 파이썬은 객체지향을 지원하는 대화식 인터프리터 언어이다. 컴파일 과정이 필요하지 않으며 코드 작성 후, 바로 실행이 가능한 형태의 언어이다.
- Java와 같이 바이트 코드를 생성하기는 하지만 직접 컴파일을 수행하는 과정이 필요하지 않다.
- 인터프리터 모드와 에디트 모드를 지원한다.
2. 동적 자료형 지원
- C, Java 처럼 데이터의 자료형(Type)을 직접 선언하지 않아도 되는 동적 자료형 기능을 지원한다.
- 즉, 변수 이름 선언 후 할당되는 데이터에 따라 동적으로 자료형을 인식한다.
3. 플랫폼에 독립적
- 운영체제의 종류에 종속되지 않고, 다양한 플랫폼에서 실행될 수 있는 언어이다.
- 이를 플랫폼 독립적이라 표현한다.
4. 개발 기간 단축에 초점을 맞춘 언어
- 실행의 효율성 보다는 개발 기간 단축에 초점을 둔 언어이다.
- 실행 성능 최적화 보다는 단기간에 프로토타입을 개발한 뒤, 차차 성능을 개선해 나가는 방식의 언어이다.
5. 간단하고 쉬운 문법
- C, Java 등의 컴파일 언어 보다 간결하고 배우기 쉬운 문법을 갖고 있다.
- 변수 Scope의 경우 들여쓰기(Indentation)로 구분한다는 점이 기존의 다른 언어들과 차이가 있다.
6. 고수준의 자료형 제공
- list, dictionary, tuple, set 등 다양한 자료구조를 기본적으로 지원한다.
- 이러한 자료구조를 통해 데이터를 유연성 있게 저장하고, 처리할 수 있다.
7. 자동 메모리 관리
- Java와 같이 Garbage Collection 기능을 제공하여 메모리를 자동으로 할당하고 메모리 사용이 끝나면 자동으로 해제한다.
- 필요에 따라 메모리의 크기는 동적으로 변화될 수 있다.
8. 팀 단위 작업에 유용
- 모듈 단위의 코드 작성이 쉬워 팀 단위로 모듈을 구현하는데 효과적이다.
9. 쉬운 유지 보수
- 코드에 대한 이해가 쉬워 유지보수 또한 용이하다.
- 개인적인 생각이지만 주석(Comment)이 잘 작성되어 있어야 어떤 언어든 유지 보수가 용이하다.
10. 다양한 라이브러리 제공
- 파이썬은 수많은 라이브러리를 제공한다.
- 수학, 네트워크, 웹, 인공지능 등 다양한 분야의 검증된 라이브러리를 통해 효율적인 프로그래밍이 가능하다.
11. 코드의 간소화
- 컴파일 언어에 비해 상대적으로 코드가 간결하고, 짧다.
- 코드가 짧다고 무조건 좋은 것은 아니겠지만 확실히 생산성 관점에서 보면 우수하다.
12. 높은 확장성
- 파이썬은 Glue Language라고도 한다. 즉, 다른 언어나 라이브러리에 쉽게 접근하여 사용이 가능하다.
- 예를 들어 대부분의 코드는 파이썬으로 작성한뒤 고속으로 처리되어야 하는 부분은 C, C++ 등으로 작성된 라이브러리를 활용하여 속도 이슈를 해결할 수 있다.
- 출처: 파이썬3 바이블, 이강성 -
덧) 어떤 분에게는 도움이 되셨길 바라며 배우는 과정이기에 잘못 작성된 정보가 있다면 덧글로 남겨주세요. :-)
'Python' 카테고리의 다른 글
Python 예약어 확인 방법 (0) | 2017.10.11 |
---|---|
Python PEP8 (0) | 2017.10.11 |