1. 파이썬(python)이란?
- 파이썬(python)은 1990년 암스테르담의 귀도 반 로섬이 개발한 인터프리어 언어입니다.
- 파이썬 이라는 이름은 '몬티 파이썬의 날아다니는 서커스(monty pyton's flying circus)' 에서 따왔다고 합니다.
- 구글에서 만든 소프트웨어의 50% 이상이 파이썬으로 작성됐다고 할 만큰 구글에서 많이 사용되고 있습니다.
- 공동 작업과 유지 보수가 매우 쉽고 편합니다.
* 인터프리어 언어 : 소스 코드를 한줄씩 해석한 후 그때그때 실행해 결과를 바로 확인할 수 있는 언어
2. 파이썬의 정의 및 로고에 대한 설명
파이썬의 사전적 정의는 고대신화에 나오는 큰 뱀을 뜻하며, 고대 신화에서 파르나소스 산의 동굴이 나오는데 여기서 살던 뱀이 파이썬이며, 이 때문에 파이썬 공식 로고가 뱀이 되었다고 합니다.
3. 파이썬의 쓰임새
최근 들어 파이썬 쓰임새가 굉장히 가파르게 증가하고 있습니다. 그와 동시에 앞으로도 가파른 성장을 하면서 많은 사람들이 파이썬 프로그램을 이용해서 프로그래밍을 할 것이다 라고 예측하고 있습니다.
1) 파이썬의 다양한 쓰임새
- 시스템 유틸리티 : 컴퓨터를 분석,구성,최적화 또는 유지 관리하도록 설계된 시스템소프트웨어
바이러스 백신 SW | 파일 압축, 해제 SW |
컴퓨터 내 악성 소프트웨어 검출 | 데이터를 더 적은 공간에 효율적으로 기록 |
피싱 공격, 웜 등으로부터 컴퓨터를 보호 | 압축을 인코딩, 해제를 디코딩이라고 부름 |
- GUI 프로그래밍 : 화면에 윈도우 창을 만들고 프로그램을 동작시킬 수 있는 메뉴나 버튼, 그림 등을 추가하는 것
- C, C++ 과 결합 : c 또는 c++로 만든 프로그램을 파이썬에서, 파이썬으로 만든 프로그램을 c 나 c++에서 사용 가능. c와 c++는 처리 속도가 빠릅니다. c와 c++에서 작성하고 파이썬에서 불러와서 수행 및 수정한다면 더 빠르게 동작할 수 있는 장점으로 작용할 수 있음.
- 웹 프로그래밍 : 웹을 기반으로 수행되는 어플리케이션. 웹 브라우저 상에서 어플리케이션 수행이 요청되고, 어플리케이션은 Web serve에서 수행 후 결과 값을 브라우저로 전송함.
- 수치 연산 프로그램 → 빅데이터, 인공지능을 파이썬으로 작성하기에 용이하도록 파이썬에서 여러가지 라이브러리를 제공하기에 파이썬으로 빅데이터 및 인공지능을 많이 구현하고 있음.
- 데이터베이스 프로그래밍 : python을 이용해 데이터베이스를 저장,관리할 수 있는 프로그램 개발 가능
** 파이썬으로 못하는 것 : 스마트폰으로 프로그래밍 하는 것을 파이썬으로 할 수 없음.
4. 파이썬의 특징 - 낮은 진입장벽과 높은 활용도!
1) 파이썬은 인간다운 언어입니다.
파이썬은 사람이 생각하는 방식을 그대로 표현하는 언어입니다.
예를 들면,
if money < 1000 : print ("걸어가세요.")
프로그램을 몰라도 직관적으로 무슨 의미인지 파악이 가능합니다.
2) 문법이 쉬워 빠르게 배울 수 있습니다.
문법이 매우 쉽고 간결하며, 인간다운 언어인 만큼 사람의 사고 체계와 닮아 있어 빠르게 배울 수 있습니다.
3) 무료지만 강력합니다.
파이썬은 오픈소스이므로 무료이며, 따라서 언제 어디서든 파이썬을 다운로드하여 사용이 가능합니다. 또한, 만들고자 하는 프로그램 대부분을 쉽게 만들 수 있습니다. 그렇지만 매우 복잡하고 반복 연산이 많은 프로그래밍은 파이썬으로 하기에는 한계가 있으며, 이를 극복하기 위해 다른 언어로 만든 프로그램을 파이썬 프로그램에 포함시킬 수 있습니다.
파이썬은 C와 찰떡 궁합으로, 프로그램의 전반적인 뼈대는 파이썬으로 만들고, 빠른 실행 속도가 필요한 부분은 C로 만들어서 파이썬 프로그램 안에 포함시켜서 사용할 수 있습니다.
4) 간결합니다.
파이썬은 적은 코드의 양으로도 다른 프로그램과 같은 코드의 양을 낼 수 있습니다.
펄 (Perl) | 파이썬 |
100가지 방법으로 하나의 일 처리 | 가장 좋은 방법 1가지만 사용 |
단, 파이썬은 줄을 맞추지 않으면 실행되지 않습니다. 따라서 예쁘게 작성하기 위해서가 아니라 실행되게끔 하기 위해서는 무조건 줄을 맞춰야 함. 이는 가독성에 많은 도움이 됩니다.
5) 개발 속도가 빠릅니다.
"Life is too short, You need pyton."
: 파이썬의 빠른 개발 속도를 두고 유행처럼 퍼진 말
** 개발 속도가 빠른 것이지, 구동의 시간이 빠른 것은 아닙니다. 헷갈리면 안됨.
5. 파이썬의 동작 원리
1) 파이썬의 동작 원리
2) 프로그래밍의 동작 원리
Disk 는 작성된 프로그램이 수행이 되면 램 메모리에 저장이 되고, CPU는 램 메모리에서 프로그램을 가지고와서 수행을 함.
Disk에서 램을 거치는 이유는 속도 때문임. CPU는 연산속도가 빠르고, HDD로 갈수록 연산속도가 느림. 따라서 중간에 연산속도를 따라잡을 수 있도록 중간매개체, 비휘발성 메모리 RAM을 둠으로써 컴퓨터가 빠르게 동작할 수 있음.
3) 파이썬 프로그래밍의 동작 환경
A. Cloud computing 환경 : 컴퓨팅 자원이 클라우드 상에 있고, 여러 명이 프로그래밍 환경을 공유. 추가적으로 사용자는 computing 자원에 대한 요금을 사용한 만큼만 지불하게 됨. 그렇게 함으로써 고가용성의 자원이 필요하다거나 더 높은 성능의 컴퓨터가 필요하다면 손쉽게 컴퓨팅 자원을 늘려서 프로그래밍 할 수 있고, 이러한 환경을 여러 사람과 공유하고 협업할 수 있음.
B. 로컬 환경 : 컴퓨팅 자원이 로컬에 있고, 프로그래밍 환경을 단독으로 보유. 사용한 만큼 요금을 지불하는 것이 아니라, 이미 컴퓨터를 구매했기 때문에 계속적으로 사용할 수 있음.