[점프 투 파이썬] 1장. 파이썬이란 무엇인가?

정지나·2022년 5월 7일
1

1 주차

2022.05.01. ~ 2022.05.07.

  • 01-1 파이썬이란?
  • 01-2 파이썬의 특징
  • 01-3 파이썬으로 무엇을 할 수 있을까?

01-1 파이썬이란?


👨‍💻 파이썬의 유래

  • 파이썬은 1990년 암스테르담의 귀도 반 로섬이 개발한 인터프리터 언어이다.
  • 파이썬의 사전적 의미는 고대 신화에 나오는 파르나소스 산의 동굴에 살던 큰 뱀을 말하며, 대부분의 파이썬 책 표지와 아이콘이 뱀모양으로 그려져 있는 이유가 여기에 있다.

01-2 파이썬의 특징


1. 파이썬은 인간다운 언어이다.

  • 파이썬은 일반 프로그래밍 언어와 다르게 컴퓨터의 사고 체계에 맞추어 프로그래밍을 하려고 애쓸 필요 없이, 사람이 생각하는 방식을 그대로 표현할 수 있는 언어이다.
if 4 in [1,2,3,4]: print ("4가 있습니다.")
➜ 만약 4가 1,2,3,4 중에 있다면 '4가 있습니다.'를 출력한다. 

2. 파이썬은 문법이 쉬워 빠르게 배울 수 있다.

  • 파이썬은 문법 자체가 아주 쉽고 간결해 사람의 사고 체계와 매우 닮아있다.

3. 파이썬은 무료이지만 간결하다.

  • 파이썬은 오픈소스이다. (무료이다.)
  • 시스템 프로그래밍이나 하드웨어 제어와 같은 매우 복잡하고 반복 연산이 많은 프로그램은 파이썬과 어울리지 않는다. 하지만 파이썬은 이러한 약점을 극복할 수 있게끔 다른 언어로 만든 프로그램을 파이썬 프로그램에 포함시킬 수 있다. (실제로 파이썬 라이브러리 중에서 순수 파이썬만으로 제작된 것도 많지만 C로 만든 것도 많고, C로 만든 것은 대부분 속도가 빠르다는 장점이 있다.)

4. 파이썬은 간결하다.

  • 파이썬은 다른 언어와 다르게 단락을 구분하는 괄호({}) 문자를 사용하지 않는다.
  • 파이썬 프로그램은 줄을 맞추지 않으면 실행되지 않는다. 이렇듯 줄을 맞추어 코드를 작성하는 행위는 가독성에 크게 도움이 된다.
  • 파이썬은 컴퓨터 프로그래밍 교육을 위해 많이 사용하지만, 공동 작업과 유지보수가 매우 쉽고 편하다는 이유로 기업의 실무를 위해서도 많이 사용한다. 대표적인 예로는 구글, 인스타그램, 드롭박스 등이 있다.

5. 파이썬은 프로그래밍을 즐기게 해준다.

6. 파이썬은 개발 속도가 빠르다.

"Life is too short, You need Python." (인생은 너무 짧으니 파이썬이 필요해)
  • 파이썬의 빠른 개발 속도를 두고 유행처럼 퍼진 말이다.

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


파이썬으로 할 수 있는 일

1. 시스템 유틸리티 제작

  • 파이썬은 운영체제(윈도우, 리눅스 등)의 시스템 명령어를 사용할 수 있는 각종 도구를 갖추고 있기 때문에 이를 바탕으로 시스템 유틸리티를 만드는데 유리하다.

2. GUI 프로그래밍

  • 파이썬 프로그램과 함께 설치되는 Tkinter를 통해 윈도우 창을 띄우는 등의 GUI 프로그램을 만들기 쉽다.

3. C/C++ 와의 결합

  • 파이썬은 다른 언어와 결합해 사용할 수 있기 때문에 접착 언어라고 부른다.
  • C나 C++로 만든 프로그램을 파이썬에서 사용 가능하고, 파이썬으로 만든 프로그램 역시 C나 C++에서 사용할 수 있다.

4. 웹 프로그래밍

  • 파이썬으로 웹사이트 제작이 가능하다.

5. 수치 연산 프로그래밍

  • C로 작성한 NumPy라는 수치 연산 모듈로 파이썬에서도 수치 연산을 빠르게 할 수 있다.

6. 데이터베이스 프로그래밍

  • 파이썬은 Sybase, Infomix. Oracle, MySQL, PostgreSQL 등의 데이터베이스에 접근하기 위한 도구를 제공한다.

7. 데이터 분석, 사물 인터넷

  • 파이썬으로 만든 Pandas 모듈을 사용하게 되면 데이터 분석을 더 쉽고 효과적으로 할 수 있다.
  • 파이썬은 라즈베리파이를 제어하는 도구로 사용되어 사물 인터넷 분야에서도 활용도가 높다.

파이썬으로 할 수 없는 일

1. 시스템과 밀접한 프로그래밍 영역

  • 리눅스 같은 운영체제, 엄청난 횟수의 반복과 연산이 필요한 프로그램 또는 데이터 압축 알고리즘 개발 프로그램 등을 만드는 것은 어렵다.
  • 대단히 빠른 속도를 요구하거나 하드웨어를 직접 건드려야 하는 프로그램에는 어울리지 않는다.

2. 모바일 프로그래밍

  • 파이썬은 구글이 많이 애용하는 언어지만 Android 앱을 개발하는 것은 아직 어렵다.
  • IOS 앱을 개발하는 것도 아직까지는 어렵다.

🔎 새롭게 알게 된 내용


  • 인터프리터 언어: 한 줄씩 소스 코드를 해석해 그때그때 실행해 결과를 바로 확인할 수 있는 언어이다.
  • 유틸리티: 컴퓨터 사용에 도움을 주는 여러 소프트웨어를 말한다.
  • GUI(Graphic User Interface) 프로그래밍: 화면에 또 다른 윈도우 창을 만들고 그 창에 프로그램을 동작시킬 수 있는 메뉴나 버튼, 그림 등을 추가하는 것이다.
  • 라즈베리파이: 리눅스 기반의 아주 작은 컴퓨터이다.
profile
폭주벨로거,, (가 될 예정)

0개의 댓글