Published Book on Amazon
All of IOT Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 1 | |
All of IOT Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 2 |
출판된 한글판 도서
최신 라즈베리파이(Raspberry Pi)로 시작하는 사물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (상) | |
최신 라즈베리파이(Raspberry Pi)로 시작하는 사물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (하) |
Original Book Contents
23.5 Python language
23.5.1 Python 개요
23.5.1.1 Python이란?
Python은 1991년] 프로그래머인 Guido van Rossum이 발표한 고급 프로그래밍 언어로, 유연하면서도 강력한 기능을 가지고 있으면서도 사용하기 쉬운 특징을 가지고 있다. 현재 Python은 비영리 단체인 파이썬 소프트웨어 재단이 관리하고 있으며, 개방형 기반, 공동체 기반의 개발 모델을 가지고 있다.
Python은 플랫폼 독립적이며 인터프리팅 방식의, 객체지향적, 동적 타이핑(dynamically typing)의 대화형 언어이다. 또한 Python syntax는 명확한 표현이 가능한 문법 체계를 가지고 있으며, 읽기 쉬운 구조로 되어 있고, 표준 영어와 같은 keyword를 사용하고 있다.
Python은 초보자부터 전문가까지 폭넓은 사용자층을 보유하고 있다. 동적 타이핑(dynamic typing)을 지원하는 범용 프로그래밍 언어로, 다양한 플랫폼에서 쓸 수 있고, 라이브러리가 풍부하여, 대학을 비롯한 여러 교육 기관, 연구 기관 및 산업계에서 이용이 증가하고 있다. 또 파이썬은 순수한 프로그램 언어로서의 기능 외에도 다른 언어로 쓰인 모듈들을 연결하는 풀 언어(glue language)로써 자주 이용된다. 실제 파이썬은 많은 상용 응용 프로그램에서 스크립트 언어로 채용되고 있다.
Python에 대한 고급 과정의 정보가 필요하면 다음 내용을 추가로 검토해 보아야 한다.
■ Python 2 와 Python 3
■ Python의 관례
■ Python을 사용하는 다양한 방법들
■ Python library 설치
■ GPIO 활용
Python에 대한 추가 자료가 필요하면 다음을 참조한다.
■ https://www.python.org/doc -- Python 문서
■ http://wiki.python.org/moin/BeginnersGuide -- 공식 초보자 가이드
■ http://www.learnpython.org -- 무료 대화형 튜토리얼
■ http://learnpythonthehardway.org/ -- Zed A. Shaw의 Python 도서
23.5.1.2 Python 2와 Python 3
Python은 현재 Python 2 and Python 3의 두 가지 version을 사용할 수 있다. Python 3는 Python 2보다 최신 version이지만, Python 2와 완벽한 호환성이 보장되지 않는다. 따라서 과거에 Python 2로 개발된 많은 프로그램을 Python 3에서 처리할 수 없어서 Python 2를 당분간은 계속 필요한 실정이다. 하지만 Python 3가 모든 면에서 새롭게 보완되었고, 보다 향상된 성능을 보여주기 때문에 향후는 모든 곳에 Python 3가 사용될 것이다.
Raspberry Pi 시스템에서는 Python 개발 환경 Python 2 와 Python 3가 함께 제공되고 있다. 사용자의 형편에 따라 어떤 것을 사용해도 무방하지만, 새로운 프로그램을 개발하는 것이라면 Python 3를 사용하는 것이 좋다.
23.5.1.3 Python의 IDLE 도구
통상 많은 개발 언어에서는 개발을 편리하게 하기 위해서 전문적인 통합 개발환경(IDE)을 제공해 주고 있다. 통합 개발환경(IDE, Integrated Development Environment)이란 프로그램 개발에 필요한 모든 도구를 통합하여 사용하기 편리하게 만든 개발환경을 제공해 주는 개발 도구이다.
Python에서도 역시 기본적인 통합 개발환경으로 IDLE (Integrated Development and Learning Environment)를 제공하고 있다.
Python IDLE는 사용자들에게 쉽게 Python command를 입력하고 실행하여 결과를 확인해 볼 수 있는 REPL (Read-Evaluate-Print-Loop, 읽기-평가- 인쇄-재시작) prompt을 제공해 준다. 이것은 말 그대로 REPL이므로, 실제로 print 명령을 사용하지 않고도 명령의 실행결과를 화면에 표시해준다.
필요하면 variable를 사용할 수 있는데, 마치 계산하는 것처럼 사용할 수 있다. 몇 가지 예를 보자
>>> 1 + 2 3 >>> name = "Sarah" >>> "Hello " + name 'Hello Sarah' |
Python IDLE는 내부적으로 syntax highlighting 기능이 있으며, 자동완성 기능도 일부 지원하고 있다. 또한 REPL 내에서 이전에 입력했던 명령을 다시 살펴 볼 수도 있디. Alt + P (previous) 와 Alt + N (next) 키를 이용하면, 앞/뒤로 이동하면서 이전의 명령들을 확인할 수 있다.