파이썬은 1990년 암스테르담의 귀도 반 로섬이 개발한 인터프리터 언어이다.
※ 인터프리터 언어란 무엇인가?
프로그래밍 언어는 크게 두 가지 분류로 나눌 수 있다. 인터프리터 언어 vs 컴파일러 언어
Python, JAVA, Javascript 등등 많은 언어는 인간이 프로그래밍을 할 수 있도록 문법이 구성되어있다. 하지만 컴퓨터가 읽을 수 있는 언어는 인간이 사용하는 영어나 한국어가 아니라 0과 1뿐이다. 즉, 영어(고급 언어)로 코드를 작성했다면 컴퓨터가 이를 이해할 수 있도록 0과 1(저급 언어)로 번환하는 과정이 필요하다.
컴파일러 언어는 컴파일러를 통해 컴파일 타임에 전체 소스 코드를 한 번에 기계어로 변환 후 실행파일을 만든다. 실행할 때는 컴파일 과정을 추가로 거치지 않고 실행만 하면 되므로 코드 실행 속도가 빠르다.
언어의 종류 : C, C++, C#, JAVA 등
인터프리터 언어는 소스 코드를 한 번에 컴파일을 하는 컴파일러 언어와 달리, 소스 코드를 한 줄씩 읽어들여 실행한다. 컴파일하는 과정이 없어 컴파일하는 시간은 소요되지 않으나, 실행할 때마다 인터프리트 과정이 반복 수행되어 실행 속도가 느리다는 단점이 있다.
언어의 종류 : Python, Javascript, Rudy 등
일단 파이썬의 가장 널리 알려진 장점은 '쉽다'이다. 언어가 쉽다는 것은 유지 보수도 쉽고 편리하다는 장점으로 연결될 수 있고 사용자 층이 많아지면 그만큼 활용되는 범위도 확장될 수 있고 많은 사람들에 의해 버그와 같은 에러들이 고쳐질 수 있기 때문에 안정성도 높아진다.
문법이 쉽기 때문에 파이썬은 개발 속도 또한 높아지고 이에 따라 유행처럼 번진 말도 있다.
"Life is too short, You need Python."
파이썬은 빠른 개발 속도를 재치있게 풀어낸 말이다.
파이썬으로 할 수 있는 일은 너무나도 다양하다.
1. 웹
나는 자바스크립트를 공부해온 개발자인데, 웹에서는 자바스크립트가 거의 필수적으로 배워야하는 언어이다. 화면을 구성하기 위해서는 html,css, js를 모르고서는 할 수가 없었지만 최근에는 파이썬을 활용한 웹 프레임워크인 쟝고(django)를 활용해서 만들어지는 웹 사이트도 늘어나고 있다. 이게 html,css,js를 몰라도 된다는 말은 아니지만, 기존에 python 개발자들이 js의 영역이라고 여겼던 웹에도 파이썬을 활용하여 개발을 할 수 있게 되었다.
2. 인공지능과 머신러닝
요즘 가장 핫한 분야이며 향후 가장 유망하다고 불리는 시장 중 하나이다. 실제로 인공지능과 머신러닝 개발자에 대한 채용공고를 보면 거의 100% 파이썬을 요구한다. 인공지능, 머신러닝 분야에 대해 더 깊게 배워보고 싶다면 파이썬을 필수다.
3. 데이터 분석 및 데이터베이스 프로그래밍
4. IoT (사물 인터넷)
5. 기타 등등 겁나 많다
파이썬의 기초 문법들을 간단하게 살펴보면 다른 언어들과 크게 다르지 않다.
특히 내가 썼던 자바스크립트와 비교해보면 너무 비슷해서 놀라울 정도이다. (물론 조금만 딥하게 들어가면 다른 점 많음)
사칙 연산
1 + 2
5 - 2
3 / 2.4
3 * 9
변수 할당
a = 1
b = 2
a + b
--------
a = "Python"
print(a)
조건문 if
a = 3
if a>1:
print("a는 1보다 큽니다.")
반복문 for
for a i [1,2,3]:
print(a)
// 1
// 2
// 3
반복문 while
i = 0
while i<3:
i = i + 1
print(i)
// 1
// 2
// 3
함수
def add(a,b):
return a+b
print(add(3,4))
// 7
자바스크립트랑 구조가 아예 똑같아서 배우는 데 상당히 재밌을 것 같다. 공부하면서 어떤 차이점이 있는지 어떤 공통점이 있는지 찾아보는 것도 하나의 재미가 될 수 있을 것 같다.
<점프 투 파이썬> 책을 통해 공부할 예정이고, 책에서 Python IDLE를 활용하기도 하는데 나는 VS code를 통해서 실습할 예정이다.
파이썬 만나서 반갑고 앞으로 잘해보자.
'Python' 카테고리의 다른 글
Python 스터디 5장 - 파이썬 날개 달기 (1) (0) | 2023.06.30 |
---|---|
Python 스터디 4장 - 파이썬의 입출력 (0) | 2023.06.27 |
Python 스터디 3장 - 프로그램의 구조를 쌓는다! 제어문 (0) | 2023.06.26 |
Python 스터디 2장 - 파이썬 프로그래밍의 기초, 자료형 (2) (0) | 2023.06.25 |
Python 스터디 2장 - 파이썬 프로그래밍의 기초, 자료형 (1) (0) | 2023.06.25 |