본문 바로가기

Programing/Python

[Python 입문] 1. 파이썬(Python)이란?

목차

  • 파이썬(Python)이란?
  • 파이썬의 특징
  • 파이썬으로 무엇을 할 수 있을까?
  • 파이썬 둘러보기

파이썬(Python)이란?

 파이썬(Python)은 귀도 반 로섬(Guido Van Rossum)이 1991년 발표한 인터프리터 언어다. (크리스마스가 있는 주에 연구실이 닫혀있어 심심한 김에 만들었다는 말이 있다.) 귀도는 파이썬이라는 이름을 자신이 좋아하는 코미디 쇼인 '몬티 파이썬의 날아다니는 서커스(Monty Python's Flying CircusO'에서 따왔다고 한다.

    인터프리터 언어란? 한 줄씩 코드를 해석해서 그때그때 실행해 결과를 바로 확인할 수 있는 언어를 말한다.

 

 파이썬은 컴퓨터 프로그래밍의 교육을 위해 많이 사용하지만, 기업의 실무에도 많이 사용하는 언어다. 대표적인 예가 구글(Google), 인사타그램(Instagram), 드롭박스(Dropbox)등이 있다.

파이썬의 특징

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

 프로그래밍이란 인간이 생각하는 것을 컴퓨터에 지시하는 것을 말한다. 보통 프로그래머는 컴퓨터의 사고 체계에 맞춰 프로그래밍을 해야한다. 하지만 파이썬은 사람이 생각하는 방식 그대로 표현할 수 있는 언어다.

아래의 소스코드를 보면 쉽게 이해된다.

if 4 in [1, 2, 3, 4]: print("4가 있습니다.")

 위 소스코드는 '만약 4가 [1, 2, 3, 4]중에 있으면 "4가 있습니다."를 출력한다.' 는 뜻이다.

 

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

 파이썬은 문법 자체가 아주 쉽고 간결하고, 사람의 사고방식과 매우 닮아 있다. 프로그래머인 에릭 레이먼드(Eric Raymond)는 파이썬을 공부한지 단 하루 만에 자신이 원하는 프로그램을 작성할 수 있었다고 한다.

 

3. 파이썬은 무료지만 강력하다.

 파이썬은 오픈 소스이기 때문에 무료다. 시스템 프로그래밍이나 하드웨어 제어와 같은 복잡하고 반복 연산이 많은 프로그램은 파이썬과 어울리지 않지만 프로그래머가 원하는 대부분의 프로그램을 만들 수 있다. 그리고 프로그램의 전반적인 뼈대는 파이썬으로 만들고, 빠른 실행 속도가 필요한 부분은 C 언어로 만들어 파이썬으로 만든 프로그램에 포함이 가능하다.

 

4. 파이썬은 간결하다.

 귀도는 파이썬을 의도적으로 간결하게 만들었다. 다른 사람이 작업한 소스코드도 한눈에 들어와 이해하기 쉽기 때문에 공동 작업과 유지 보수가 쉽고 편리하다.

languages = ['python', 'perl', 'c', 'java']

for lang in languages:
    if lang in ['python', 'perl']:
        print("{0} need interpreter" .format(lang))
    elif lang in ['c', 'java']:
        print("{0} need compiler" .format(lang))
    else:
        print("should not reach here")

 위 예제는 프로그래밍 언어를 판별해 그에 맞는 문장을 출력하는 파이썬 예제다.

 파이썬은 코드의 줄을 맞추지 않으면 실행되지 않는다. 이렇게 줄을 맞춰 코드를 작성하기 때문에 가독성에 크게 도움된다.

 

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

 파이썬은 다른 것에 신경 쓸 필요 없이 내가 하고자 하는 부분에만 집중할 수 있게 해준다.

 나 역시 파이썬이라는 언어를 통해 프래그래밍을 하는 행위를 즐기게 되길 바란다...

 

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

 "Life is too short, You need python."

 파이썬의 빠른 개발 속도를 두고 유행처럼 퍼진 말이다. 이 문장은 내가 앞으로 보고 배울 '점프 투 파이썬' 책에서 예제로 사용될 것이다.

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

 대부분의 프로그래밍 언어가 하는 일을 파이썬에서도 가능하다. 많은 일을 할 수 있지만 대표적인 몇 가지의 예를 들어본다.

 

1. 파이썬으로 할 수 있는 일 

- 시스템 유틸리티 제작

 파이썬은 운영체제( Windows, Linux 등)의 시스템 명령어들을 이용할 수 있는 각종 도구들을 바탕으로 다양한 시스템 유틸리티를 만드는 것이 가능하다.

    유틸리티란? 컴퓨터 사용에 도움을 주는 여러 소프트웨어를 말한다.

- GUI(Graphic User Interface) 프로그래밍

 파이썬은 GUI 프로그래밍을 위한 도구를 잘 갖춰져 있기 때문에 만들기 쉽다.

    GUI 프로그래밍이란? 화면에 다른 창을 만들고, 메뉴나 버튼을 추가해  마우스나 키보드로 동작시킬 수 있는 프로그램을 만드는 것이다.

- C / C++과의 결합

 C나 C++ 언어로 만든 프로그램을 파이썬에서 사용할 수 있고, 파이썬으로 만든 프로그램을 C나 C++ 에서 사용할 수 있다.

- 그 외... (웹 프로그래밍, 수치 연산 프로그래밍, 데이터베이스 프로그래밍, 데이터 분석 및 사물 인터넷 등)

 

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

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

 파이썬은 대단히 빠른 속도를 요구하거나 하드웨어를 직접 건드려야 하는 프로그램에는 어울리지 않는다.

- 모바일 프로그래밍

 파이썬은 기업의 실무에도 많이 사용하는 언어이지만 안드로이드, 아이폰의 앱(App)을 개발하는 것은 아직 어렵다.

 안드로이드에서 파이썬으로 만든 프로그램이 실행되도록 지원하긴 하지만 이것만으로 앱을 만들기에는 아직 역부족이다.

파이썬 둘러보기

 파이썬 프로그래밍 실습을 위해 Mac OS에서 파이썬을 실행시키는 방법으로는 파이썬 설치시 기본적으로 포함되어있는 IDLE를 사용하는 방법과 Terminal에서 사용하고자 하는 파이썬의 버전을 입력하는 방법 등이 있다.

Type "help", "copyright", "credits" or "license" for more information.
>>>

 Terminal에서 python.(version)을 입력후 return(enter)키를 누르면 Python 3.10.0 등과 같이 설치된 버전을 알려주며 파이썬이 잘 설치되었는지 확인할 수 있다.

 그리고 위와 같은 형태를 파이썬 셸(Python shell)이라고도 하는 대화형 인터프리터며, 3개의 꺾은 괄호(>>>)는 프롬프트(prompt)라고 한다.

 

  대화형 인터프리터를 종료할 때는 control + D를 누르면된다. 그럼 초기 Terminal의 모습으로 돌아가며 command + Q를 통해 Terminal창도 종료할 수 있다.

>>> a = 1
>>> if a > 0:
...     PRINT("Nice")
... 
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
NameError: name 'PRINT' is not defined
>>>

 파이썬은 대소문자를 구분한다. 출력할때 사용하는 print명령어를 위 예제와 같이 PRINT로 입력하면 정의되지 않았다는 에러 메시지가 나온다.

 또한 print문 앞의 '...'은 아직 문장이 끝나지 않았음을 의미한다. 따라서 두 번째 '...' 이후에 return키를 입력해서 해당 문장이 종료해야한다.

 

 마지막으로 공부하고 있는 이 책에서는 대화형 인터프리터로 파이썬 프로그래밍의 기초적인 사항들을 설명하고 있다. 하지만 파이썬 역시 다른 프로그래밍 언어들과 같이 프로그램을 편하게 작성하기 위한 다양한 에디터가 있다. 필자는 기본적으로 대화형 인터프리터와 편의상 파이참(PyCharm)과 같은 IDE도 함께 사용할 예정이다.

 

 

내용 출처: 책 '점프 투 파이썬'의 내용