인공지능(AI), 코딩 그리고 파이썬(PYTHON)
요즘 저의 최대 관심사 입니다.
제조업 해외영업팀에서 약 10년간의 일을 하면서
코딩이라는 단어를 들었을 때는
코딩=나와 상관없는것 이라고 생각했습니다.
그러나 코로나 시기 이후
뉴노멀(new normal) 시대에 들어서면서
인공지능(AI)분야가 사회적, 국제적으로 많은 이슈화가 되는 것을 느꼈죠.
다가오는 인공지능 시대에
코딩과 같이 프로그래밍 언어를 안다는 것은 필수적인 부분이고
빠른 사회적 변화에 알맞는 직업을 갖고싶었고
미래가 있는 분야라고 생각하고 있어
파이썬(PYTHON)을 배워보려고 합니다.
그렇다면 파이썬(PYTHON)이란 무엇일까요?
위키피디아의 설명을 따르면,
파이썬(영어: Python)은 1991년 네덜란드계 소프트웨어 엔지니어인
귀도 반 로섬이 발표한 고급 프로그래밍 언어로,
'인터프리터를 사용하는 객체지향 언어'이자
플랫폼에 독립적인, 동적 타이핑(dynamically typed) 대화형 언어이다.
파이썬이라는 이름은 귀도가 좋아하는 코미디인
〈Monty Python's Flying Circus〉에서 따온 것이다.
이름에서 고대신화에 나오는 커다란 뱀을 연상하는 경우도 있겠지만
이와는 무관하다. 로고에는 뱀 두마리가 형상화되어 있다.
간결하고 읽기 쉬운 문법이 특징인 프로그래밍 언어로
데이터 분석, 웹 개발, 인공지능 등 다양한 분야에서 활용된다.
파이썬으로 할 수 있는 일, 무엇이 있을까?
파이썬으로 할 수 있는 일은 매우 많다고 합니다.
파이썬은 대부분의 프로그래밍 언어가 하는 일을 쉽고 깔끔하게 처리하고
JAVA, C언어 등 다양한 프로그램이 있지만 파이썬의 사용도가 점차 더 많아지고 있다고 해요.
파이썬으로 할 수 있는 일들을 나열하자면 끝도 없지만,
대표적인 몇 가지만 소개하겠습니다.
웹 프로그래밍
누구나 한 번쯤 구글 크롬이나 마이크로소프트 엣지와 같은
웹 브라우저로 웹 서핑을 하면서 게시판이나 방명록에 글을 남겨 본 적이 있죠?
이러한 게시판이나 방명록을
‘웹 프로그램’이라고 한다. 파이썬은 웹 프로그램을 만들기에
매우 적합한 도구이며, 실제로 파이썬으로 제작한 웹 사이트는 셀 수 없을 정도로 많습니다.
인공지능과 머신러닝
최근 인공지능(artificial Intelligence) 분야의 발전 덕분에
파이썬이 인기 언어로 떠올랐습니다.
인공지능은 기계가 인간처럼 생각하고
행동할 수 있는 능력을 제공하는 기술입니다.
파이썬을 활용하면 자연어 처리, 음성 인식, 이미지 인식과 같은
인공지능 기술을 구현할 수 있어요.
머신러닝(machine learning)은 인공지능의 한 분야로,
경험을 통해 자동으로 발전하는 컴퓨터 알고리즘을 연구하는 분야입니다.
파이썬은 인공지능과 머신러닝 프로그래밍을
쉽게 할 수 있도록 사이킷런(scikit-learn),
텐서플로(TensorFlow), 파이토치(PyTorch), 케라스(Keras) 등과
같은 다양한 라이브러리를 제공합니다.
수치 연산 프로그래밍
사실 파이썬은 수치 연산 프로그래밍에 적합한 언어가 아닙니다.
수치가 복잡하고 연산이 많다면 C와 같은
언어로 프로그래밍하는 것이 더 빠르기 때문이죠.
하지만 파이썬은 넘파이(Numpy)라는 수치 연산 모듈을 제공해요.
이 모듈은 C로 작성했기 때문에 파이썬에서도 수치 연산을 빠르게 수행할수 있어요.
데이터 분석
파이썬은 데이터 분석에 이상적인 언어로,
넘파이(NumPy), 판다스(Pandas), 맷플롯립(Matplotlib) 등과 같은
라이브러리들을 활용하여 데이터 처리, 통계 분석,
시각화를 손쉽게 수행할 수 있습니다.
. 데이터 분석을 할 때 아직까지는
데이터 분석에 특화된 R이라는 언어를 많이 사용하고 있지만,
판다스가 등장한 이래 파이썬을 사용하는 경우가 점점 많아지고 있습니다..
데이터베이스 프로그래밍
파이썬은 사이베이스(Sybase), 인포믹스(Infomix),
오라클(Oracle), 마이에스큐엘(MySQL), 포스트그레스큐엘(PostgreSQL)
등의 데이터베이스에 접근하기 위한 도구를 제공합니다.
이런 굵직한 데이터베이스를 직접 사용하는 것 말고도 파이썬에는
재미있는 도구가 하나 더 있다. 바로 피클(pickle)이라는 모듈이에요.
피클은 파이썬에서 사용하는 자료를 변형 없이 파일에 저장하거나 불러오는 일을 수행합니다.
시스템 유틸리티 제작하기
파이썬은 운영체제(윈도우, 리눅스 등)의 시스템 명령어를 사용할 수 있는
각종 도구를 갖추고 있기 때문에 이를 바탕으로 파일 관리, 로그 분석,
시스템 모니터링 등과 같은 여러 가지 시스템 유틸리티를 만드는
데 유리해요. 실제로 여러분은 시스템에서 사용 중인 서로
다른 유틸리티성 프로그램을 하나로 합쳐 보다
유용한 프로그램들을 무수히 만들어 낼 수 있어요
유틸리티란 컴퓨터를 사용하는 데 도움을 주는 여러 가지 소프트웨어를 말합니다.
GUI 프로그래밍
GUI(graphic user interface) 프로그래밍이란 쉽게 말해 화면에
윈도우 창을 만들고 그 창에 프로그램을 동작시킬 수 있는
메뉴나 버튼 등을 추가하는 것을 말해요. 파이썬은 GUI 프로그래밍을 위한
도구들이 잘 갖추어져 있기 때문에 GUI 프로그램을 쉽게 만들 수 있어요.
대표적인 예로 파이썬 프로그램과 함께 설치되는 Tkinter(티케이인터)를 들 수 있습니다.
Tkinter를 사용하면 단 5줄의 소스 코드만으로 윈도우 창을 띄울 수 있어요.
C/C++와 결합하기
파이썬은 접착(glue) 언어라고도 부르는데,
그 이유는 다른 언어와 결합해서 사용할 수 있기 때문입니다.
C나 C++로 만든 프로그램을 파이썬에서 사용할 수 있고 파이썬으로
만든 프로그램도 C나 C++에서 사용할 수 있어요.
사물 인터넷(IOT)
파이썬은 사물 인터넷(Internet of things) 분야에서도 활용도가 높습니다.
한 예로 라즈베리파이(Raspberry pi)는 리눅스
기반의 매우 작은 컴퓨터에요. 라즈베리파이를 사용하면 홈시어터나
매우 작은 게임기 등 여러 가지 재미있는 것을 만들 수 있는데,
라즈베리파이를 제어할 때 파이썬을 사용합니다. 예를 들어 라즈베리파이에
연결된 모터를 작동시키거나 LED에 불이 들어오게 하는 일을 파이썬으로 할 수 있습니다.

화이팅!
'코딩 초보 도전기' 카테고리의 다른 글
파이썬(PYTHON) 기초 - 복습 / input() , 형 변환 (0) | 2024.04.14 |
---|---|
파이썬(PYTHON) 기초 - 복습 / 슬라이싱 & 인덱싱 (0) | 2024.04.14 |
파이썬(PYTHON) 기초 - 복습 / 변수 & 사칙연산 (0) | 2024.04.14 |
파이썬(PYTHON) 기초 - 복습 / 기본 자료형 (0) | 2024.04.12 |
파이썬(PYTHON) 기초 - 복습 / print문 사용하여 삼행시 짓기 (0) | 2024.04.12 |