공부일기/점프 투 파이썬

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

pipiiiiii 2023. 12. 26. 23:09

출 처 : 박응용, 『Do it! 점프 투 파이썬 - 전면 개정 2판』, 서울 : 이지스퍼블링(23.08.01.), 1장

 

 

01 - 1. 파이썬이란?

  • 1990년 암스테르담의 귀도 반 로섬이 개발한 인터프리터 언어이다. 
  • 사전적 의미는 '고대 신화에 나오는 파르나소스 산의 동굴에 살던 큰 뱀'을 뜻한다.
  • 사전적 의미로 인해 파이썬 책 표지와 아이콘이 뱀 모양으로 그려져 있다.  
  • 파이썬 프로그램은 공동 작업과 유지 보수가 매우 쉽고 편리하다. 

 

01 - 2. 파이썬의 특징

  • 파이썬은 인간다운 언어이다. 
    - 프로그래밍이란 인간이 생각하는 것을 컴퓨터에 지시하는 행위다. 
    - 파이썬은 사람이 생각하는 방식을 그대로 표현할 수 있는 언어다. 
     
  • 문법이 쉬워 빠르게 배울 수 있다.

  • 무료이지만 강력하다.
    - 프로그래머는 만들고자 하는 프로그램의 대부분을 파이썬으로 만들 수 있다. 
    - 시스템 프로그래밍이나 하드웨어 제어와 같은 매우 복잡하고 반복 연산이 많은 프로그램은 파이썬과 어울리지 않는다. 하지만 파이썬은 이러한 약점을 극복할 수 있도록 다른 언어로 만든 프로그램을 파이썬 프로그램에 포함시킬 수 있다. 
    - 파이썬 라이브러리(파이썬 프로그램을 작성할 때 불러와 사용할 수 있도록 미리 만들어 놓은 파이썬 파일의 모음) 중에는 파이썬만으로 제작된 것도 많지만 C로 만든 것도 많다. C로 만든 것은 대부분 속도가 빠르다.   
     
  • 간결하다.
    - 귀도는 파이썬을 의도적으로 간결하게 만들었다. 
    - 이 간결함의 철학은 파이썬 문법에도 그대로 녹아 있어 파이썬 프로그래밍을 하는 사람들은 잘 정리되어 있는 소스 코드를 볼 수 있다. 그 덕분에 다른 사람이 작업한 소스 코드를 이해하기 쉽고 공동 작업과 유지 보수가 매우 편리하다. 
    - 파이썬 프로그램은 줄을 맞추지 않으면 실행되지 않는다. 
    - 줄을 맞추어 코드를 작성하는 행위(들여 쓰기라고 한다)는 가독성에 많은 도움을 준다.  

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

 

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

  • 파이썬으로 할 수 있는 일 
    1.  웹 프로그래밍
      - 게시판이나 방명록을 '웹 프로그램'이라고 한다. 파이썬은 웹 프로그램을 만들기에 매우 적합한 도구이며, 실제로 파이썬으로 제작한 웹 사이트는 셀 수 없을 정도로 많다. 

    2. 인공지능과 머신러닝
      - 인공지능은 기계가 인간처럼 생각하고 행동할 수 있는 능력을 제공하는 기술이다.
      - 머신러닝은 인공지능의 한 분야로, 경험을 통해 자동으로 발전하는 컴퓨터 알고리즘을 연구하는 분야이다. 
      - 파이썬은 인공지능과 머신러닝 프로그래밍을 쉽게 할 수 있도록 사이킷런, 텐서플로, 파이토치, 케라스 등과 같은 다양한 라이브러리를 제공한다.

    3. 수치 연산 프로그래밍
      - 파이썬은 넘파이라는 수치 연산 모듈을 제공한다. 이 모듈은 C로 작성했기 때문에 파이썬에서도 수치 연산을 빠르게 수행할 수 있다. 

    4. 데이터 분석
      - 파이썬은 데이터 분석에 이상적인 언어로, 넘파이, 판다스, 맷플롯립 등과 같은 라이브러리들을 활용하여 데이터 처리, 통계 분석, 시각화를 손쉽게 수행할 수 있다. 

    5. 데이터베이스 프로그래밍
      - 파이썬은 사이베이스, 인포믹스, 오라클, 마이에스큐엘, 포스트그레스큐엘 등의 데이터베이스에 접근하기 위한 도구를 제공한다.
      - 데이터베이스를 직접 사용하는 것 말고도 파이썬에는 재미있는 도구가 하나 더 있다. 바로 피클이라는 모듈이다.
      - 피클은파이썬에서 사용하는 자료를 변형 없이 파일에 저장하거나 불러오는 일을 수행한다.

    6. 시스템 유틸리티 제작하기
      - 파이썬은 운영체제(윈도우, 리눅스 등)의 시스템 명령어를 사용할 수 있는 각종 도구를 갖추고 있기 때문에 이를 바탕으로 파일 관리, 로그 분석, 시스템 모니터링 등과 같은 여러 가지 시스템 유틸리티(컴퓨터를 사용하는데 도움을 주는 여러 가지 소프트웨어)를 만드는 데 유리하다.   

    7. GUI 프로그래밍
      - 쉽게 말해 화면에 윈도우 창을 만들고 그 창에 프로그램을 동작시킬 수 있는 메뉴나 버튼 등을 추가하는 것을 말한다. 

    8. C / C++와 결합하기
      - 파이썬은 접착 언어라고도 부르는데, 그 이유는 다른 언어와 결합해서 사용할 수 있기 때문이다. 

    9. 사물 인터넷
      - 예를 들어 라즈베리파이에 연결된 모터를 작동시키거나 LED에 불이 들어오게 하는 일을 파이썬으로 할 수 있다. 
  • 파이썬으로 할 수 없는 일
    1. 시스템과 밀접한 프로그래밍 영역
      - 매우 빠른 속도를 요구하거나 하드웨어를 직접 건드려야 하는 프로그램에는 적합하지 않다.
    2. 모바일 프로그래밍
      - 구글이 가장 많이 애용하는 언어이지만, 파이썬으로 안드로이드 네이티브 앱을 개발하는 것은 아직 어렵다. 
      - 이 밖에 아이폰 앱도 파이썬으로 개발할 수 없다. 

 

01 - 4. 파이썬 설치하기

 

01 - 5. 파이썬 둘러보기

  • 파이썬 기초 실습 준비하기
    • 위와 같은 창을 '파이썬 대화형 인터프리터'라고 부른다.
    • 인터프리터란 사용자가 입력한 소스 코드를 실행하는 환경을 뜻한다.  
    • 창에서 보이는 3개의 꺾은 괄호(>>>)를 프롬프트라고 부른다. 
    • 입출력이 번갈아 이어지는 것이 마치 대화하는 것처럼 느껴지기 때문에 '파이썬 대화형 인터프리터(= 파이썬 셸)'라고 한다. 
      >>> 1+1
      2
    • 대화형 인터프리터를 종료할 때는 Ctrl + Z를 누른 후 Enter를 누르거나 quit(), exit()를 작성한다. 

  • 파이썬 기초 문법 따라 해 보기  
    • 사칙 연산
      >>> 1+2
      3
      >>> 3/2.4
      1.25
      >>> 3*9
      27
    • 변수에 숫자 대입하고 계산하기
      >>> a = 1
      >>> b = 2
      >>> a + b
      3
    • 변수에 문자 대입하고 출력하기
      >>> a = 'python'
      >>> print(a)
      python
    • 조건문 IF
      >>> a = 3
      >>> if a > 1:
      ...     print('a는 1보다 큽니다.')
      ...
      a는 1보다 큽니다.
      - Spacebar 4개 또는 Tap을 이용해 반드시 들여 쓰기를 해야 한다
      - 인터프리터 창에서 프롬프트 대신 ' ... '이 나타났다는 것은 입력 중인 문장이 끝나지 않았다는 것을 의미한다.
    • 반복문 for 
      >>> for a in [1, 2, 3]:
      ...     print(a)
      ...
      1
      2
      3
      - for문을 사용하면 실행해야 할 문장을 여러 번 반복해서 실행할 수 있다. 
      - 이 코드의 의미는 '[1, 2, 3] 리스트의 앞에서부터 하나씩 꺼내 a 변수에 대입 후 print(a)를 수행하라'다. 
    • 반복문 while
      >>> i = 0
      >>> while i < 3:
      ...     i = i + 1
      ...     print(i)
      ...
      1
      2
      3
      - while이라는 영어 단어의 뜻인 '~인 동안'을 보면 알 수 있듯 일정한 조건이 만족하는 동안 문장을 반복해서 수행한다. - 이 코드의 의미는 i 값이 3보다 작을 동안 i = i + 1을 print(i) 하라는 뜻이다. 
      - i값이 3보다 커지면 while문을 빠져나간다. 
    • 함수
      >>> def add(a, b):
      ...     return a + b
      ...
      >>> add(3, 4)
      7
      - def는 '정의한다'라는 뜻의 'define'의 줄임말이다.
      - def는 파이썬에서 함수를 정의할 때 사용하는 예약어(프로그래밍 언어에서 이미 문법적인 용도로 사용하고 있는 단어)다. 
      - 예제에 있는 return은 함수에서 값을 반환할 때 사용한다. 
      - 이 코드의 의미는 add(a, b)를 입력할 때 a, b에 적힌 입력값을 a + b로 return 시키라는 뜻이다. 

01 - 6. 파이썬과 에디터

- 파이썬 대화형 인터프리터는 간단한 예제를 풀 때는 편리하지만 여러 줄의 복잡한 소스 코드를 가진 프로그램을 만들 때는 불편하다. 

- 인터프리터를 종료하면 작성한 프로그램이 사라져 다시 사용하지 못한다는 단점이 있다. 

- 에디터란 소스 코드를 편집할 수 있는 프로그래밍 도구이다. 

- 책에서는 파이썬을 설치할 때 기본으로 설치되는 파이썬 IDLE(아이들이라고 읽는다)의 에디터를 사용한다. 

 

  • IDLE 에디터로 파이썬 프로그램 작성하기 
    - IDLE 셸은 IDLE 에디터에서 실행한 프로그램의 결과가 표시되는 창이다. 
    - 파이션 셸과 기능 면에서 동일하다.
    - IDLE 셸 창 메뉴에서 File을 누르고 New File을 누르면 빈 창이 뜨는데, 그 창이 IDLE 에디터다. 
    - 파이썬을 쓸 때 #으로 시작하는 문장은 주석이다. 
    - 여러 줄로 이루어진 주석은 큰따옴표 혹은 작은따옴표 3개를 연속으로 사용한 사이에 작성하면 된다. 
    - 에디터로 파이썬 프로그램을 작성한 후 저장할 때는 파일 이름의 확장자를 항상 .py로 해야 한다. 왜냐하면 .py가 파이썬 파일이라는 것을 알려주는 확장자이기 때문이다. 
    - IDLE 에디터를 사용할 경우 print문을 반드시 사용해야 결괏값을 출력할 수 있다. 
    - 주석은 프로그램 수행에 전혀 영향을 미치지 않으며, 프로그램의 소스 코드를 읽을 미래의 나 또는 다른 프로그래머를 위해 소스 코드 설명을 달 때 사용된다. 
  • 명령 프로프트 창에서 파이썬 프로그램 실행하기
    - C:\Users\내이름> → 이 부분은 현재 이용하는 프롬프트를 의미한다. 
    - C:\Users\내이름> cd c:\doit → 현재 이용하는 프로프트를 cd(이동)한다 c:\doit으로 
    - c:\doit> 이 나오면 이동이 된 것이다. 
    - c:\doit>에 실행할 프로그램을 입력하면 실행된다. 

  • 추천하는 에디터
    • 비주얼 스튜디오 코드
      - 프로그래머에게 가장 많은 사랑을 받는 파이썬의 대표적인 에디터다. 
      - 파이썬 전용 에디터가 아니기 때문에 파이썬 외에도 여러 가지 언어를 지원한다.
      - 파이썬 Extensions을 설치해야 한다. 
    • 파이참
      - 파이참은 가장 유명한 파이썬 에디터 중 하나로, 코드를 작성할 때 자동 완성, 문법 체크 등 편리한 기능을 많이 제공한다. 
      - 파이참은 파이썬 전용 에디터이므로 별도의 Extension이나 플러그인을 설치할 필요가 없다. 

 

< Python 후기>

- 책만 읽으면서 코드를 따라하니 머리에 남지 않아서 정리를 하게 됐다. 이미 어느정도 공부를 한 책이지만 다시 마음을 다잡는다고 생각하고 1장부터 시작했더니 진짜 마음도 다시 잡히고, 머리에도 남았다.

 

그냥 이해를 하면서 '이렇구나'라고 넘어가는 것보다 효과가 좋아 시간도 오래 걸리고 힘도 들었지만 후회가 되지는 않는다. 남은 파이썬 공부도 힘내야겠다. 

 

'공부일기 > 점프 투 파이썬' 카테고리의 다른 글

4  (0) 2024.01.07
03. 프로그램의 구조를 쌓는다! 제어문  (0) 2024.01.02
02. 파이썬 프로그래밍의 기초, 자료형  (1) 2024.01.02