파이썬(python)은 코딩을 모르는 사람이 가장 쉽게 접근할 수 있는 프로그래밍 언어라고 합니다. 여러 이유가 있겠지만 가장 대표적인 이유로 문법에서 찾아볼 수 있습니다. 컴퓨터는 0,1의 2진수 신호를 통해 동작하게 됩니다. 0,1은 전기 신호가 붙었다 끊어졌다를 의미할 수도 있겠죠. 0,1로 이루어진 내용은 사람이 알기란 어렵습니다. 따라서, 해당 내용들을 사람이 알 수 있는 방법으로 표시해야 합니다. 그렇다고 인간의 언어로 모든 것을 표현할 수는 없겠죠. 정해진 명령어와 규칙이 나열되게 됩니다. 그 내용이 바로 코딩입니다.
파이썬은 다양한 명령어를 통해 코딩을 진행할 수 있습니다. 다만, 반복문, 조건문과 같은 내용은 특정한 규칙을 지니게 됩니다. 다른 언어도 비슷하게 규칙을 가지고 있는데요. 잠깐 비교하고 갈까요.
👉 C언어의 경우 반복문
#include <stdio.h>
int main(void)
{
for (int i = 1; i <= 15; i++) {
printf("%d번공\n", i);
}
return 0;
}
👉 파이썬의 경우 반복문
for i in range(15):
print(i+1, '번공')
두 코드는 같은 결과를 보여주게 되는데요. 작성된 코드는 차이를 보이게 됩니다. 또한, 파이썬을 이용한 코드의 경우 꼭 파이썬을 몰라도 유추할 수 있습니다. 즉, 사람들이 알아보기 쉽다는 점이 파이썬을 배우는데 많은 이점이 되는 부분입니다.
파이썬은 객체지향 프로그래밍 언어라고 합니다.
- 컴퓨터 프로그래밍 패러다임 중 하나로 명령어의 목록을 보는 것에서 벗어나 다양한 객체들을 파악하고, 그 모임에 집중하는 것이라고 하네요. (참고, 위키백과)
여기서 중요한 것은 패러다임은 아니니 참고 링크를 확인하시면 더 상세하게 확인할 수 있습니다. 어쨌든, 파이썬을 선택한 후 어떤 기능을 구현하고 프로그램을 완성하기 위해서는 여러 로직이 필요할 수 있습니다. 별도의 함수, 클래스를 모아 스크립트를 작성하는데요. 해당 스크립트를 재활용하기 용이하도록 설계하는 것이 좋습니다.
다만, 모든 로직을 개발자가 직접한다는 것은 한계가 있습니다. 이런 경우, 이미 만들어진 것을 가져와 사용하게 됩니다. 이를 라이브러리 혹은 프레임워크라 부르게 됩니다. 해당 라이브러리 혹은 프레임워크는 버전이 존재합니다. 구현하려는 기능에 따라 필요한 버전이 달라질 수 있습니다. 따라서, 원하는 버전을 pip 명령어를 통해 설치한 후 사용할 수 있습니다. 단일 프로젝트라면 문제가 되지 않습니다.
만약, A / B의 서로 다른 두 프로젝트를 동일한 컴퓨팅 환경에서 이용해야만 한다면 어떨까요. 다른 프로젝트를 진행하는 동안 다른 버전의 라이브러리가 필요하다면 매번 새롭게 설치를 진행해야만 합니다. 상당히 번거로운 과정이며 오류가 발생할 수 있습니다. 서로 다른 독립된 환경을 조성할 수 있다면 문제점을 해결할 수 있습니다. 바로 가상환경을 생성하는 것입니다.
파이썬 가상환경은 독립된 파이썬 개발 공간을 마련하여 원하는 패키지로 구성할 수 있도록 합니다. 서로 다른 프로젝트가 서로 얽히거나 충돌을 일으키지 않게 될 수 있으며, 동일한 컴퓨팅 환경에서 수 많은 개발 환경을 조성할 수 있습니다. 다만, 조금 귀찮기도 합니다. 만약, 처음 학습하는 단계라면 조금 천천히 가상환경을 조성해도 좋을 것입니다. 그렇다고 가상환경에 대한 부분을 넘겨서는 안됩니다. 시간이 지남에 따라 파이썬 가상환경 조성은 꼭 필요한 것이기 때문입니다.