기본 이론 책/점프 투 파이썬

01장 파이썬이란 무엇인가?

junslee 2025. 1. 28. 22:43
  • 01장에서 배우는 내용
    - 파이썬의 특징과 장단점
    - 파이썬 프로그래밍을 위한 환경 구축 방법
    - 간단한 파이썬 프로그램 작성

1. 파이썬이란?

  • 1990년 암스테르담의 귀도 반 로섬이 개발한 인터프리터 언어
    코미디 쇼인 '몬티 파있너의 날아다니는 서커스'에서 유래
인터프리터 언어란
소스 코드를 한 줄씩 해석한 후 그때그때 실행해 결과를 바로 확인할 수 있는 언어
  • 사전적 의미
    - 고대 신화에 나오는 파르나소스 산의 동굴에 살던 큰 뱀
    - 아폴로 신이 델파이에서 파이썬을 퇴치했다는 이야기가 전해져 옴
    => 아이콘이 뱀 모양인 이유

  • 컴퓨터 프로그래밍 교육할 때뿐만 아니라 기업에서 실무를 할 때도 많이 사용
    대표 기업 : 구글 (+ 인스타그램, 넷플릭스, 아마존 등)

  • 장점 : 공동 작업과 유지 보수가 매우 쉽고 편리
    -> 다른 언어로 작성된 많은 프로그램이 파이썬으로 재구성

2. 파이썬의 특징

  • 파이썬은 인간다운 언어이다.
    - 사람이 생각하는 방식을 그대로 표현할 수 있는 언어

  • 문법이 쉬워 빠르게 배울 수 있다.
    - 파이썬의 자료형, 함수, 클래스 만드는 법, 라이브러리 및 내장 함수 사용 방법 등을 익히는 데 일주일이면 충분
    '에릭 레이번드(Eric raymond)'

  • 무료이지만 강력하다.
    - 파이썬은 오픈 소스(open source)이며 무료 소프트웨어이다.
    (오픈 소스 : 저작권자가 소스 코드를 공개하여 누구나 별다른 제한 없이 자유롭게 사용.복제.배포.수정할 수 있는 소프트웨어
    - 프로그래머는 만들고자 하는 프로그램의 대부분을 파이썬으로 만들 수 있다.
    시스템 프로그래밍이나 하드웨어 제어와 같은 매우 복잡하고 반복 연산이 많은 프로그램은 어울리지 않음
    다른 언어로 만든 프로그램을 파이썬 프로그램에 포함시킬 수 있다.
    - 파이썬과 C는 찰떡궁합
    프로그램의 전반적인 뼈대는 파이썬으로 만들고 빠른 실행 속도가 필요한 부분은 C로 만들어서 파이썬 프로그램 안에 포함시킬 수 있기 때문이다.
    (파이썬 라이브러리 : 파이썬 프로그램을 작성할 때 불러와 사용할 수 있도록 미리 만들어 놓은 파이썬 파일의 모음을 말한다.)

  • 간결하다.
    - 단락을 구분하는 괄호({})가 없고 들여쓰기로 가능
    (들여쓰기 : 코드의 줄을 맞추는 것, 파이썬은 들여쓰기를 하지 않으면 프로그램이 실행되지 않는다.)

  • 프로그래밍을 즐기게 해준다.
    - 다른 부수적인 개념이나 제한 사항 등에 신경 쓸 필요 없이 만들고자 하는 기능에만 집중할 수 있게 해준다.

  • 개발 속도가 빠르다.
    - "Life is too short, You need python."

3. 파이썬으로 무엇을 할 수 있을까?

1) 파이썬을 할 수 있는 일

  1. 웹 프로그래밍
    - 게시판이나 방명록
  2. 인공지능과 머신러닝
    (인공지능(artificial intelligence) : 기계가 인간처럼 생각하고 행동할 수 있는 능력을 제공하는 기술)
    - 자연어 처리, 음성 인식, 이미지 인식과 같은 인공지능 기술을 구현할 수 있다.
    (머신러닝(machine learning) : 인공지능의 한 분야, 경험을 통해 자동으로 발전하는 컴퓨터 알고리즘을 연구하는 분야)
    - 사이킷런(scikit-learn),텐서플로(TensorFlow),파이토치(PyTorch),케라스(Keras) 등과 같은 다양한 라이브러리 제공
  3. 수치 연산 프로그래밍 - Numpy
    - 수치가 복잡하고 연산이 많다면 C와 같은 언어로 프로그래밍하는 것이 더 빠르다.
    - 파이썬은 넘파이(Numpy)라는 수치 연산 모듈을 제공한다.
    - C로 작성했기 때문에 파이썬에서도 수치 연산을 빠르게 수행할 수 있다.
  4. 데이터 분석 - Pandas
    - 데이터 분석에 이상적인 언어로, 넘파이(NumPy),판다스(Pandas),맷플롯립(Matplotlib) 등과 같은 라이브러리들을 활용하여 데이터 처리, 통계 분석, 시각화를 손쉽게 수행할 수 있다.
    - 데이터 분석을 할 때 아직까지는 R 언어를 많이 사용, 판다스의 등장으로 파이썬을 사용하는 경우 증가
  5. 데이터베이스 프로그래밍
    - 사이베이스(Sybase),인포믹스(Infomix),오라클(Oracle),마이에스큐엘(MySQL),포스트그레스큐엘(PostgreSQL) 등의 데이터베이스에 접근하기 위한 도구를 제공
    - 피클(pickle) 모듈 : 파이썬에서 사용하는 자료를 변형 없이 파일에 저장하거나 불러오는 일을 수행
    ('05-6 표준 라이브러리' 참고)
  6. 시스템 유틸리티 제작하기
    - 파이썬은 운영체제(윈도우, 리눅스 등)의 시스템 명령어를 사용할 수 있는 각종 도구를 갖추고 있기 때문에
    - 파일 관리, 로그 분석, 시스템 모니터링 등과 같은 여러 가지 시스템 유틸리티를 만드는 데 유리
    (유틸리티 : 컴퓨터를 사용하는 데 도움을 주는 여러 가지 소프트웨어를 말한다.)
  7. GUI 프로그래밍
    (GUI(graphic user interface) 프로그래밍 : 쉽게 말해 화면에 윈도우 창을 만들고 그 창에 프로그램을 동작시킬 수 있는 메뉴나 버튼 등을 추가)
    - GUI 프로그래밍을 위한 도구들이 잘 갖추어져 있기 때문에 GUI 프로그램을 쉽게 만들 수 있다.
    - 파이썬 프로그램과 함꼐 설치되는 Tkinter(티케이인터)를 들 수 있다.
    => 단 5줄의 소스 코드만으로 윈도우 창을 띄울 수 있다.
  8. C/C++와 결합하기
    - 파이썬은 접착(glue) 언어 : 다른 언어와 결합해서 사용할 수 있기 때문
  9. 사물 인터넷
    - 파이썬은 사물 인터넷(Internet of things) 분야에서도 활용도가 높다.
    (라즈베리파이(Raspberry pi) : 리눅스 기반의 매우 작은 컴퓨터)
    - 라즈베리파이를 제어할 때 파이썬을 사용
    - 라즈베리파이를 사용하면 홈시어터나 매우 작은 게임기 등 여러 가지 재미있는 것을 만들 수 있는데, 라즈베리파이를 제어할 때 파이썬을 사용

2) 파이썬으로 할 수 없는 일

  1. 시스템과 밀접한 프로그래밍 영역
    - 파이썬으로 리눅스와 같은 운영체제 또는 엄청난 횟수의 반복과 연산이 필요한 프로그램을 만드는 것은 어렵다.
    즉, 매우 빠른 속도를 요구하거나 하드웨어를 직접 건드려야 하는 프로그램에는 적합하지 않다.
  2. 모바일 프로그래밍
    - 파이썬은 구글이 가장 많이 애용하는 언어이지만, 파이썬으로 안드로이드 네이티브 앱(android native app)을 개발하는 것은 아직 어렵다.
    - 안드로이드에서 파이썬으로 만든 프로그램이 실행되도록 지원하기는 하지만, 이것만으로 앱을 만들기에는 아직 역부족이다. 이 밖에 아이폰 앱도 파이썬으로 개발할 수 없다.

4. 파이썬 설치하기

 

Download Python

The official home of the Python Programming Language

www.python.org

 

Welcome to Python.org

The official home of the Python Programming Language

www.python.org


5. 파이썬 둘러보기

1) 파이썬 기초 실습 준비하기

  • [시작] 메뉴에서 ‘Python 3.11(64-bit)’을 찾아 실행

2) 파이썬 기초 문법 따라 해 보기

  • 사칙 연산
  • 변수에 숫자 대입하고 계산하기
  • 변수에 문자 대입하고 출력하기
  • 조건문 if
  • 반복문 for
  • 반복문 while
  • 함수

6. 파이썬과 에디터

  • 파이썬 대화형 인터프리터는 간단한 예제를 풀 때는 편리하지만 여러 줄의 복잡한 소스 코드를 가진 프로그램을 만들 때는 불편하다. 또한 인터프리터를 종료하면 작성한 프로그램이 사라져 다시 사용하지 못한다는 단점이 있다.
  • 따라서 여러 번 사용하기 위한 프로그램을 만들 때는 에디터를 사용해야 한다.
  • 에디터(editor)란 소스 코드를 편집할 수 있는 프로그래밍 도구를 말한다.
    에디터에는 여러 가지 종류가 있다. 이 책에서는 그중 파이썬을 설치할 때 기본으로 설치되는 파이썬 IDLE(Integrated development and learning environment)의 에디터를 사용한다.

1) IDLE 에디터로 파이썬 프로그램 작성하기

  • 파이썬 IDLE은 파이썬 프로그램 작성을 도와주는 통합 개발 환경이다.
  • 단, IDLE 셸에서 들여쓰기를 표시하는 방법이 기본 파이썬 셸과 다르므로 이 책에서는 IDLE 에디터로 작성한 프로그램의 실행 결과를 표시하는 용도로만 사용한다.
  • 앞으로 프롬프트(>>>)로 시작하는 예제는 IDLE 셸이 아닌 파이썬 셸로 실행해야 한다.
  • 에디터로 파이썬 프로그램을 작성한 후 저장할 때는 파일 이름의 확장자를 항상 .py로 해야 한다.
  • 파이썬 셸과 IDLE 에디터의 차이점
    - IDLE 에디터를 사용할 경우에는 다음처럼 print 문을 반드시 사용해야 한다.

2) 명령 프롬프트 창에서 파이썬 프로그램 실행하기

  • 이번에는 앞에서 IDLE 에디터로 작성한 hello.py 파일을 명령 프롬프트(command prompt) 창에서 실행해 보자.
  • IDLE 에디터에서 F5를 눌러 실행할 수도 있지만, 실제 업무에서는 일반적으로 명령 프롬프트 창에서 파이썬 프로그램을 실행한다.

3) 추천하는 에디터

  1. 비주얼 스튜디오 코드(Visual studio code)
    - 파이참(Pycharm)과 더불어 프로그래머에게 가장 많은 사랑을 받는 파이썬의 대표적인 에디터
    - 비주얼 스튜디오 코드는 공식 다운로드 사이트(code.visualstudio.com)에서 내려받을 수 있다.
    - 비주얼 스튜디오 코드를 설치한 후 파이썬을 사용하기 위해 가장 먼저 해야 할 일은 파이썬 extension을 설치하는 것이다.
  2. 파이참
    - 파이참은 가장 유명한 파이썬 에디터 중 하나로, 코드를 작성할 때 자동 완성, 문법 체크 등 편리한 기능을 많이 제공한다.
    - 파이참 공식 다운로드 사이트(www.jetbrains.com/pycharm/download)에서 내려받을 수 있다.
    - 파이참은 파이썬 전용 에디터이므로 별도의 extension이나 플러그인을 설치할 필요가 없다.