인공지능을 만들 때 가장 일반적으로 사용되는 프로그래밍 언어는 Python이다.
따라서 인공지능 공부를 하려면, 우선적으로 Python을 사용할 줄 알아야한다.
이 글에선 이를 위한 가장 기본적인 Python 지식을 소개한다.
프로그래밍을 처음 공부한다면, 이해하기 어려운 표현이 많을 것이다. 이런 경우 완벽히 이해하려하기 보단, 용어에 익숙해지는 정도만 해두어도 도움이 될 것이다.
관련 표현에 익숙한 전공자들은 가볍게 읽으며 특징을 다시 정리해 보는 것이 좋다.
즉, Python은 OS에 맞는 인터프리터만 설치한다면, 어떤 OS에서든 사용할 수 있다는 편리한 특성을 가지고 있다.
하지만 컴파일러 언어에 비해 실행 속도가 느리다는 단점이 있다. 과거에는 이 단점으로 인해 사용할 수 없었으나, 하드웨어의 비약적인 발전으로 인터프리터 언어의 사용이 늘어나게 되었다.
📂 컴파일러 언어 vs 인터프리터 언어
. | 컴파일러 | 인터프리터 |
---|---|---|
작동방식 | 소스코드를 기계어로 번역 후 실행 | 사용자의 번역 과정 없이, 프로그램이 소스코드를 실행시점에 해석해여 실행 |
장점 | 실행 빠름 | 간단히 작성, 메모리 적게 필요 |
예 | C, C++/C#, JAVA | Python, Scala, JavaScript |
파이썬의 가장 큰 장점은
이해하기 쉽고, 빠르게 작성할 수 있다
는 것이다.
이는 하드웨어의 발전으로 기계의 실행시간을 줄이는 것보다, 인간의 작성 시간을 줄이는 것이 중요한 경우가 많은 현재 매우 유용한 특성이다.
파이썬이 이해하고 작성하기 쉬운 것은 대표적인 몇 가지 특성 때문이다.
개발 환경을 설정하기 위해선 우선 몇 가지를 선택해야 한다.
운영체제, 인터프레터, 코드 편집기
이 3가지에 따라 개발 환경이 달라기지 때문이다.
👉 운영체제 종류 : Windows, Mac, Linux
운영체제 | 장점 | 단점 |
---|---|---|
Windows | 친숙해서 초기 사용이 쉽다. | 모듈 설치가 어렵고, 터미널 환경이 불편하다. |
Linux | 모듈 설치가 쉽고, 공짜이며, 참고 문서가 많다. | OS 사용이 가장 어렵다. 초보자에겐 권장하지 않는다. |
MacOS | 모듈 설치가 쉽고, 참고 문서도 많다. | 비싸다. |
Windows의 경우 16기가 이상, i7 정도를 사용하는 경우가 많다.
Mac의 경우 M1을 많이 사용한다.
👉 인터프리터 종류 : Python, Anaconda
버전의 경우 기존 라이브러리 사용 여부에 따라 선택하면 된다.
버전 | 특징 |
---|---|
3.x | 가장 최신 버전들이다. 이제 대부분 3.8 정도를 사용한다.(3.9도 있으니 아직 일반적이지 않다.) |
2.x | 이전 버전이지만, 일부 기존 라이브러리의 경우 2.x 버전을 필요로 할 수 있다. |
대표적 인터프리터 | 특징 |
---|---|
Python | 일반적인 파이썬, 기본 모듈 포함 |
Anaconda | 다양한 과학 계산용 모듈 묶어서 패키지 제공 |
👉 코드 편집기 종류 : 메모장, VI editor, VScode, PyCharm 등
편집도구 | 예 | 특징 |
---|---|---|
기본 | 메모장(Windows), VI editor(Linux) | 코드 편집 용으로 만들어 진 것이 아니므로 불편하다. |
프로그래밍 특화 어플 | VS Code, Atom, Sublime Text | 요즘은 거의 VS code를 사용한다. |
파이썬 전용 어플 | PyCharm | 다양한 기능을 포함하고 있다. |
웹 기반 인터랙티브 편집기 | Jupyter Notebook, colab | 문서 편집 뿐만이 아니라, 데이터 분석 도구로서의 기능을 포함한다. |