3. Python 언어의 특징
다음과 같은 특징을 가진 고급 프로그래밍 언어
인터프리터
소스코드를 바로 실행(실제로는 중간 코드로 변환 후 실행)
3
소스를 Parsing 하는 시간을 줄이기 위해)
객체지향
클래스, 객체, 메소드, 속성으로 구성
추상화, 캡슐화, 상속, 다형성, 동적바인딩 등의 특징 제공
동적타이핑
개발시간(design-time)이 아닌 실행시간(runtime)에 자료(변수)의 형(type)을 결정
C의 printf 스타일의 포맷 Print. 활용하면 도움 많이 됨
Print 기능: http://www.python-course.eu/python3_formatted_output.php
Pretty Print: https://docs.python.org/2/library/pprint.html
4. 괄호(brace, curly brace, bracket) 대신 들여쓰기(indent)를 사용
/etc/password 파일을 읽어 JSON 형식으로 반환하는 프로그램
Flask(Micro Web Framework) 이용하면 웹(REST)으로도 쉽게 확장
4
쉬운(짧은) 코딩, 가독성의 예
5. 생산성
코드가 깔끔하고 양이 적음 (C, Java에 비해)
성능
대부분의 분야에서 Java, C와 크게 차이 없음
다양한 기능
그래픽, 수치 연산, 시스템 제어 등이 라이브러리로 쉽게 가능
예: 문명4 게임의 대부분이 Python으로 작성
보안
단일 언어의 보안 위험성
Polyglot
업무 특성에 맞게 필요한 언어를 골라 작성하는 프로그래밍 방법
예: C, Java로는 시스템 Shell 확장용 프로그램 작성하기는 부적합
C는 너무 어렵거나, Java는 Unix fork 등의 문제
반면 Python은 Shell과 유사한 프로그래밍 스타일(동적인 typing, 인터프리트, 대화형 등)
JavaScript와 비교
Python과 유사성이 많은 스크립트 언어이지만 너무 유연한 문법과 느슨한 형 체크로 트러블슈팅
이 어려운 단점 거의 모든 문제점을 직접 실행해 봐야 알 수 있음
Python은 Java와 JavaScript의 중간 정도의 엄격함
5
Why Python
11. 11
pip 및 easy_install
Python의 yum 또는 apt-get
설치 방법
- easy_install 설치: sudo yum install python-setuptools
- pip 설치: sudo easy_install pip
- Window에서도 유사한 방법으로 사용 가능
사용 방법
Window용 pip 설치
- Flask(Micro Web Framework) 설치: sudo pip install flask
- virtualenv 설치: sudo pip install virtualenv
- 패키지 저장소: https://pypi.python.org/pypi (인터넷 반드시 연결. 없으면 다운 받아서 setup.py 실행)
- 다음 위치에 패키지 다운로드 및 위치
12. pip를 이용하여 여러 패키지를 한꺼번에 설치
여러 패키지 설치
설치할 패키지 명과 Version을 Text 파일에 기술
pip install <text file 명>
현재 시스템에 설치된 패키지 목록
pip freeze
위 내용을 text file로 만들어 다른 시스템에 그대로 설치 가능
12
13. 개발 환경: eclipse + PyDev
Eclipse 설치 (Window용 Python도 설치 필요)
최신 버전(또는 현재 사용 중인 버전 그대로 사용 가능) 다운로드
- https://www.eclipse.org/downloads/
- 현재 최신: 4.4(Luna) 참고로 제가 사용하는 버전은 4.2(Android 개발플랫폼 버전)
Eclipse Market Place에서 쉽게 설치 가능
13
- Help Eclipse Marketplace...
PyDev Perspective 지정
- Python에 맞는 인터페이스 제공
14. Linux 가상 머신 생성 및 IP 연결
PuTTY 터미널 (http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe)
14
Linux 가상 머신 및 터미널