[Python] Python 기본 배경

Recorder·2021년 7월 21일
0

인공지능을 만들 때 가장 일반적으로 사용되는 프로그래밍 언어는 Python이다.
따라서 인공지능 공부를 하려면, 우선적으로 Python을 사용할 줄 알아야한다.

이 글에선 이를 위한 가장 기본적인 Python 지식을 소개한다.

프로그래밍을 처음 공부한다면, 이해하기 어려운 표현이 많을 것이다. 이런 경우 완벽히 이해하려하기 보단, 용어에 익숙해지는 정도만 해두어도 도움이 될 것이다.

관련 표현에 익숙한 전공자들은 가볍게 읽으며 특징을 다시 정리해 보는 것이 좋다.


1. Python의 특징

A. 플랫폼에 독립적인 인터프리터 언어

  • 플랫폼에 독립적이다.
    : OS에 상관없이 실행되는 언어이다.
  • 인터프리터 언어이다.
    : Python으로 작성한 프로그램은, 각 운영체제에 맞게 해석해 줄 수 있는 인터프리터를 통해 작동된다.

즉, Python은 OS에 맞는 인터프리터만 설치한다면, 어떤 OS에서든 사용할 수 있다는 편리한 특성을 가지고 있다.
하지만 컴파일러 언어에 비해 실행 속도가 느리다는 단점이 있다. 과거에는 이 단점으로 인해 사용할 수 없었으나, 하드웨어의 비약적인 발전으로 인터프리터 언어의 사용이 늘어나게 되었다.

📂 컴파일러 언어 vs 인터프리터 언어

.컴파일러인터프리터
작동방식소스코드를 기계어로 번역 후 실행사용자의 번역 과정 없이, 프로그램이 소스코드를 실행시점에 해석해여 실행
장점실행 빠름간단히 작성, 메모리 적게 필요
C, C++/C#, JAVAPython, Scala, JavaScript

B. 객체 지향적인 동적 타이핑 언어

  • 객체 지향적 언어이다.
    : 실행 순서가 아닌 단위 모듈(객체) 중심으로 프로그램을 작성한다.
    코드를 위에서부터 무조건 한 줄 씩 내려오는 것이 아니라, 객체 단위로 해석한다. 각 객체는 행동(method)와 속성(attribute)를 가지고 있다.
  • 동적 타이핑 언어이다.
    : 프로그램이 실행되는 시점데이터에 대한 타입을 결정한다.

C. 파이썬의 장점

파이썬의 가장 큰 장점은
이해하기 쉽고, 빠르게 작성할 수 있다
는 것이다.

이는 하드웨어의 발전으로 기계의 실행시간을 줄이는 것보다, 인간의 작성 시간을 줄이는 것이 중요한 경우가 많은 현재 매우 유용한 특성이다.

파이썬이 이해하고 작성하기 쉬운 것은 대표적인 몇 가지 특성 때문이다.

  • C, JAVA 등 다른 언어에 비해 코드가 짧게 작성된다.
  • 직관적인 언어 구조를 가지고 있다.
  • 굉장히 다양한 라이브러리가 존재한다.

2. 개발환경 설정

개발 환경을 설정하기 위해선 우선 몇 가지를 선택해야 한다.
운영체제, 인터프레터, 코드 편집기
이 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문서 편집 뿐만이 아니라, 데이터 분석 도구로서의 기능을 포함한다.
profile
기억은 나 대신 컴퓨터가

0개의 댓글