파이썬은 다른 프로그래밍 언어에 비해 직관적인 편이어서
코딩 입문자에게 많이 추천되는 프로그램이다.
이미 방대한 라이브러리를 지원하고, 여러 분야에서 사용 가능한 범용 언어라는 큰 장점도 갖고 있다.
물론 코딩역량을 기르는 목적과 방향성에 따라, 이 또한 공부방법이 달라진다.
아래는 파이썬 입문자들의 교과서, '점프 투 파이썬'에서 요약된 파이썬으로 할 수 있는 분야에 대한 내용이다.
1. 시스템 유틸리티 제작
파이썬은 운영체제의 시스템 명령어를 사용할 수 있는 도구들을 갖추고 있다.
이를 바탕으로 여러 시스템 유틸리티(컴퓨터 사용에 도움을 주는 소프트웨어)를 만들 수 있다.
2. GUI (Graphic User Interface) 프로그래밍
어떤 프로그램을 동작시킬 수 있는 그래픽 인터페이스를 만드는 기능이다.
GUI Application 개발을 지원하여(PyQT), 매우 빠른 개발이 가능하다.
Tkinter와 같이 초기 파이썬과 동시 설치되는 GUI 프로그래밍 도구들을 활용하면,
단 5줄의 소스 코드만으로 윈도우 창을 띄울 수도 있다고 한다.
3. C/C++와의 결합
파이썬은 다른 언어와 결합해 사용할 수 있는 접착(glue) 언어이다.
C나 C++로 만든 프로그램을 파이썬에서 사용할 수 있고,
파이썬으로 만든 프로그램 역시 C나 C++에서 사용 가능하다.
4. 웹 프로그래밍
파이썬은 웹 서핑을 하면서 이용하는 게시판, 방명록 등의 웹 프로그램을 만들기 매우 적합한 도구이다.
파이썬으로 제작한 웹사이트는 셀 수 없이 많다.
5. 수치 연산 프로그래밍
사실 파이썬이 수치 연산 프로그래밍에 적합한 언어는 아니지만, NumPy라는 수치 연산 모듈(이 모듈은 C로 작성됨)을 이용할 수 있다고 한다.
아직 공부를 좀 더 해봐야 수치 연산 프로그래밍이 무엇인지 쉽게 설명할 수 있을 것 같다.
6. 데이터베이스 프로그래밍
파이썬은 Sybase, Infomix, Oracle, MySQL, PostgreSQL 등의 데이터베이스 접근 도구를 제공한다.
또한 위 굵직한 데이터베이스 외에, Pickle이라는 모듈이 있는데,
파이썬에서 사용하는 자료를 변형 없이 그대로 파일에 저장하고 불러오는 일을 한다고 한다.
7. 데이터 분석
Pandas는 파이썬으로 만들어진 모듈인데, 데이터 분석을 쉽고 효과적으로 할 수 있다.
아직까지는 데이터 분석에 특화된 'R'언어가 많이 사용되고 있지만,
Pandas 등장 이후 파이썬을 사용하는 경우가 증가하는 추세라고 한다.
8. 사물 인터넷
사물 인터넷 (IoT, Internet of Things)의 분야에서는,
예를 들어 리눅스 기반 초소형 컴퓨터인 Raspberry Pi를 제어하는 데에 파이썬을 활용할 수 있다.
Raspberry Pi에 연결된 모터를 작동시키거나 LED에 불이 들어오게 하는 일을 파이썬으로 할 수 있다.
참고로, Raspberry Pi는 홈시어터, 아주 작은 게임기 등 재밌는 것들을 많이 만들 수 있다.
개인적인 관심사는 이 사물인터넷의 분야이다.
아직까지는 아두이노 정도를 다뤄봤으나, 좀 더 복잡한 연산과 제어로 가용성이 높은 제품을 해킹해보고 싶어서,
다른 언어를 공부하기로 마음먹었다.
효용성에 대해서는 역시 공부를 해본 후에 평가하는 것으로.
* 운영체제 구축, 데이터 압축 알고리즘 개발 프로그램과 같이 엄청난 횟수의 반복, 연산이 필요한 작업은 어렵다.
* 엄청 빠른 속도가 필요하거나, 하드웨어를 직접 건드려야 하는 그런 프로그램들에도 부적합한 것 같다.
* 모바일 프로그래밍 쪽 언어와의 호환은 어려운 것 같다. 안드로이드 (Kotlin), 아이폰 (Swift) 모두 아직 역부족.
'개발 공부 > Python study log' 카테고리의 다른 글
[Python] 2. 가상 환경 설정 & 패키지 설치 (0) | 2022.03.08 |
---|---|
[Python] 1-1. 파이썬 기초 학습 (몸풀기) (0) | 2022.03.08 |
[Python] 1. Print (출력) (0) | 2022.03.08 |
Python / 점프투파이썬 2장 : 파이썬의 자료형 / 숫자열, 문자열, 리스트, 튜플, 딕셔너리, 집합, 불 / 코딩공부, 파이썬 백슬래시(\,backslash) 입력방법 (0) | 2021.06.20 |
Python / 점프투파이썬 1장 / 코딩공부 (0) | 2021.06.20 |