1. 파이썬이란?
파이썬(Python은 1991년 네덜란드계 소프트웨어 엔지니어인 귀도 반 로섬이 발표한 고급 프로그래밍 언어로, '인터프리터를 사용하는 객체지향 언어'이자 플랫폼에 독립적인, 동적 타이핑(dynamically typed) 대화형 언어다.
파이썬이라는 이름은 귀도가 좋아하는 코미디인〈Monty Python's Flying Circus〉에서 따온 것이다. 이름에서 고대신화에 나오는 커다란 뱀을 연상하기도 하겠지만, 이와는 무관하다. 다만 로고에는 뱀 두 마리가 형상화되어 있다. 간결하고 읽기 쉬운 문법이 특징인 프로그래밍 언어로 데이터 분석, 웹 개발, 인공지능 등 다양한 분야에서 활용된다.
파이썬은 비영리 파이썬 소프트웨어 재단이 관리하는 개방형, 공동체 기반 개발 모델이 있다.
2. 파이썬 개요
파이썬은 초보자부터 전문가까지 사용자층을 보유하고 있다. 동적 타이핑(dynamic typing) 범용 프로그래밍 언어로, 펄 및 루비와 자주 비교된다. 다양한 플랫폼에서 쓸 수 있고, 라이브러리(모듈)가 풍부하여, 대학을 비롯한 여러 교육 기관, 연구 기관 및 산업계에서 이용이 증가하고 있다.
또 파이썬은 순수한 프로그램 언어로서의 기능 외에도 다른 언어로 쓰인 모듈들을 연결하는 접착제 언어로써 자주 이용된다. 실제 파이썬은 많은 상용 응용 프로그램에서 스크립트 언어로 채용되고 있다. 도움말 문서도 정리가 잘 되어 있으며, 유니코드 문자열을 지원해서 다양한 언어의 문자 처리에도 능하다.
파이썬은 기본적으로 해석기(인터프리터) 위에서 실행될 것을 염두에 두고 설계되었다.
현대의 파이썬은 여전히 인터프리터 언어처럼 동작하나 사용자가 모르는 사이에 스스로 파이썬 소스 코드를 컴파일하여 바이트 코드(Byte code)를 만들어 냄으로써 다음에 수행할 때에는 빠른 속도를 보여 준다.
파이썬에서는 들여쓰기를 사용해서 블록을 구분하는 독특한 문법을 채용하고 있다. 이 문법은 파이썬에 익숙한 사용자나 기존 프로그래밍 언어에서 들여쓰기의 중요성을 높이 평가하는 사용자에게는 잘 받아들여지고 있지만, 다른 언어의 사용자에게서는 프로그래머의 코딩 스타일을 제한한다는 비판도 많다.
이 밖에도 실행 시간에서뿐 아니라 네이티브 이진 파일을 만들어 주는 C/C++ 등의 언어에 비해 수행 속도가 느리다는 단점이 있다. 그러나 사업 분야 등 일반적인 컴퓨터 응용 환경에서는 속도가 그리 중요하지 않고, 빠른 속도를 요하는 프로그램의 경우에도 프로토타이핑한 뒤 빠른 속도가 필요한 부분만 골라서 C 언어 등으로 모듈화 할 수 있다(ctypes, SWIG, SIP 등의 래퍼 생성 프로그램들이 많이 있다).
또한 Pyrex, Psyco, NumPy 등을 이용하면 수치를 빠르게 연산할 수 있기 때문에 과학, 공학 분야에서도 많이 이용되고 있다. 점차적인 중요성의 강조로 대한민국에서도 점차 그 활용도가 커지고 있다.
3. 파이썬 활용
- 배우기 쉬운 교육용 프로그래밍 언어
- 쉘 스크립트와 배치프로그램 대안
- 데이터 과학자가 되려면 필수
- 웹 서버 어플리케이션 – Django, Flask
- 개인과 팀 단위의 업무 자동화
- 일 및 디렉토리 정리 작업
- 엑셀파일 및 CSV 파일 작업 자동화
- 웹에서 데이터 가져와서(스크레이핑) 정리작업 자동화
- 웹 서비스를 활용하여 데이터 수집 및 정리작업 자동화
- 비정형 데이터(주로 텍스트 데이터)에서 특정 데이터 검색
- 반복되는 메일 보내기 작업 자동화
- 메일을 통한 업무 작업화
4. 파이썬 특징
1) 주요 특징
동적 타이핑(dynamic typing). (실행 시간에 자료형을 검사한다.)
객체의 멤버에 무제한으로 접근할 수 있다. (속성이나 전용의 메서드 훅을 만들어 제한할 수는 있음.)
모듈, 클래스, 객체와 같은 언어의 요소가 내부에서 접근할 수 있고, 리플렉션을 이용한 기술을 쓸 수 있다.
- 가독성 – 문법이 간결하고 들여쓰기를 기반으로 가독성이 좋음
- 풍부한 라이브러리를 바탕으로 무궁한 확장성
- 접착성 – C로 구현된 모듈을 쉽게 만들어 붙일 수 있음, 반대 기능도 가능함
- 유니코드 – 문자열이 모두 유니코드로 나타남
- 동적 타이핑 – Dyanmic Language, Interpreted Language
2) 해석 프로그램의 종류
Cython : C로 작성된 인터프리터.
스택리스 파이썬 : C 스택을 사용하지 않는 인터프리터.
자이썬 : 자바 가상 머신용 인터프리터. 과거에는 제이파이썬(JPython)이라고 불렸다.
IronPython : .NET 플랫폼용 인터프리터.
PyPy : 파이썬으로 작성된 파이썬 인터프리터.
5. 파이썬 설치
1) 파이썬 인터프리터 설치 – http://www.python.org
- 설치경로 (유닉스 계열) - /usr/local/bin/python3.5
- 윈도우 – c:\Python35 ( set path=%path%;c:\python35 )
2) PyCharm 설치
https://www.jetbrains.com/pycharm/download
- 유료인 프로페셔널 에디션과 무료인 커뮤니티 에디션이 있음
[Linux] nmcil 명령어 사용법 - 네트워크 설정
[Fortinet] Fortigate maximum values 확인하기
[SQLD] 3-1. SQL 기본 - 관계형 데이터베이스 개요