방구석 호랑이 이불 밖은 위험해

01. Python 소개

1. Python 소개

Python?

위키백과에서는 Python을 다음과 같이 설명했다.

Python은 1991년 프로그래머인 귀도 반 로섬(Guido van Rossum)이 발표한 고급 프로그래밍 언어로, 플랫폼에 독립적이며 인터프리터식, 객체지향적, 동적 타이핑(dynamically typed) 대화형 언어이다. Python이라는 이름은 귀도가 좋아하는 코미디 〈Monty Python’s Flying Circus〉에서 따온 것이다.

아마 대부분의 사람은 소개하는 글조차 이해가 되지 않을 것이다. 하지만 Python의 특징이 아주 잘 쓰여있는 글이다. 하나씩 해석해 보자.

특징

고급 프로그래밍 언어

프로그래밍 언어는 크게 고급 프로그래밍 언어저급 프로그래밍 언어로 나눌 수 있다. 우선 저급 프로그래밍언어(low-level programming language)사람보다 기계가 더 이해하기 더 쉬운 언어이다. 예시로 기계어어셈블리어가 있다. 반대로 고급 프로그래밍 언어(high-level programming language)기계보다 사람이 더 이해하기 쉬운 언어이다.

플랫폼에 독단적

운영체제(OS)CPU(기계)같은 외부요인에 영향을 받지 않고 실행할 수 있다는 뜻이다.

인터프리터식, 대화형 언어

명령어들을 한 번에 한 줄씩 읽어들여서 실행하는 프로그램이다. Python은 IDLE(Python 통합 개발 환경)을 사용하여 대화식으로 Python을 배울 수 있습니다.

객체지향적

프로그래밍 방식은 절차적 프로그래밍 방식객체 지향 프로그래밍이 있다. 단순하게 절차적 프로그래밍은 사람이 글을 읽는 것과 같이 위에서 아래로 차례대로 진행하는 프로그래밍 방식이다. 객체지향 프로그래밍은 작업을 객체로 나눠서 관리하는 프로그래밍 방식으로 유지 보수가 편하다.

동적 타이핑(dynamically typed)

우리가 생활하면서 숫자와 문자를 구분하듯이 컴퓨터도 자료형을 통해 데이터를 구분한다. 다른 프로그래밍 언어에서는 사용자가 직접 자료형을 지정해줘야 하지만, Python에서는 자동으로 자료형을 정해주고 준다.

정리

Python의 설명을 보며 해석한 특징은 다음과 같다.

  1. Python은 사람이 더 이해하기 쉬운 프로그래밍 언어이다.
  2. Python은 어디서든 실행시킬 수 있다.
  3. Python은 대화식으로 쉽게 배울 수 있다.
  4. Python은 유지 보수가 편하다.
  5. Python은 데이터를 자동으로 정해준다.

Python을 쓰는 이유?

매달 셰계의 프로그래밍 언어 순위를 올리는 티오베에 올라온 랭킹이다.(2020.05.09 기준)

Python_Study_1

세상에는 정말 많은 프로그래밍 언어가 있다. 그 중에서 Python은 문법이 매우 쉬워서 초보자들이 처음 프로그래밍을 배울 때 추천되는 언어이다. 그리고 라이브러리가 많고 다른 언어와 같이 결합하여 쓰기 쉽다. 즉 실사용률과 생산성도 높은 강력한 언어이다.

자동화와 속도의 비중이 늘어난 현업에서 개발자를 도와주는 언어로 각광받고 있으며, 개발자 관련 설문에서 개발자가 “새로 배우고 싶은 언어” 항목에서 1위를 하였다.

Python으로 할 수 있는 것

Python으로 할 수 있는 것에 대한 예시는 python.org에 잘 정리되어 있다.

웹 및 인터넷 개발

Django와 Flask 같은 Framework를 지원해서 인터넷 서버를 만들 수 있게 도와준다. 또한 인터넷에서 정보를 가지고 오는 능력 또한 뛰어나다.

과학/공학

과학과 공학 분야에서 사용하는 기능을 기본적으로 제공한다. 또한 Python에서 다루는 수가 매우 크기 때문에 숫자를 다루기에도 정말 좋다.

교육

Python이 교육용으로 많이 사용하고 있다. 누구나 쓰기 배우기 쉽고 결과물을 만들기 쉽기 때문이다. 이건 개발자의 생각인 거 같다. 프로그래밍을 배우는 것은 어렵다.

GUI 프로그래밍

GUI란 그래픽으로 보이는 소프트웨어를 말한다. 우리가 쓰는 대부분의 프로그램은 GUI 프로그램이라고 보면 된다. Python에서 GUI 라이브러리를 지원해 주고, Python이 플랫폼 독단적이기 때문에 어디서든 GUI를 띄우는 것이 쉽다.

소프트웨어 개발

Python에는 OS에서 사용할 수 있는 API가 많기 때문에 소프트웨어 개발하는 것이 쉽다. 또한 GUI 라이브러리를 이용하여 GUI 소프트웨어를 만들 수도 있다.

2. 설치방법

Window

Python3 파일로 설치하기

python.org에 들어가서 가장 최근 버전의 Python을 다운받아서 설치한다.

인스톨러를 실행시킨 후 하단에 있는 “Add Python 3.8 to PATH”를 체크한다. 그 후 “Install Now”를 선택하여 설치를 진행한다.

Python_Study_2

파이썬 설치가 끝나면 “close”를 누르고 “시작버튼”에서 Python3가 설치가 되었는지 확인한다.

Python_Study_3

Mac OS

맥에는 Python2가 설치되어 있지만 Python3을 따로 설치해 줘야 한다. Python2는 2020.01.01이후 지원을 종료했다. 설치 방법은 2개로 나눌 수가 있다.

Python3 파일로 설치하기

python.org에 들어가서 가장 최근 버전의 Python을 다운받아서 설치한다.

설치가 완료되면 터미널에 접속하여 설치가 완료되었는지 확인한다.

$ python3 --version
Python 3.7.7 # 버전이 다를 수 있다. 

명령어로 설치하기하기

이전에 정리해 놓은 포스팅을 참고하며 설치하면 된다. 순서는 Homebrew 설치 -> Python3설치 순으로 진행하면된다.

3. Python 맛보기

Python을 사용할 준비가 이제 다 끝났다. Python에 대해 하나씩 확인을 해보며 Python 개발 환경에 익숙해지도록 하자.

Python IDLE

Python 프로그램 작성을 도와주는Python 전용 통합개발 환경(IDLE)이다. 실행을 시키는 방법은 2가지가 있다. 하나는 IDLE을 실행하는 방법이다. 다른 하나는 명령어로 여는 방법이다. Mac Os라면 터미널(Terminal)에서 “python3”이라고 입력하고, Window라면 명령 프롬프트(cmd)에서 “python”이라고 입력하면 된다.

정상적으로 실행이 되었다면 아래와 같은 창이 보일 것이다. 색깔이 다르다고 다른게 아니니 걱정하지 말자.

Python_Study_3

지금 보이는 창은 Python 쉘이다. 또는 인터랙티브 쉘이라고 부른다. 용어는 중요하지 않다. 이곳에서는 Python의 코드를 바로 입력하여 바로 실행시킬 수 있다.

>>> print("Hello world!!") # 화면에 문자열("Hello World!!")을 출력하는 코드 
Hello World!!

왼쪽 상단에 있는 File(파일)-New File(새 파일)을 열어서 다음과 같이 소스코드를 작성하고 저장을 한다. 참고로 .py는 파이썬 확장자 이름이다.

Code

# Python_Study_01_01.py
print("Hello world!!")

입력과 저장을 했다면 F5을 눌러서 실행시켜보자. 그러면 Python 쉘에 우리가 작성한 소스코드가 실행된 것을 볼 수 있다.

Result

Hello World!!

앞으로 간단한 실습은 인터렉티브 쉘에서 직접하고 파일을 만들어서 연습하도록 하겠다.

Python 문법 형식

# Python_Study_01_02.py
# 여기는 실행이 안되는 주석입니다
print("Hello World!!")
def Hello(param):
    num = 1
    text = "Hello"
    if num == 1:
        return 1
    else:
        return "test text"

test01 = "Hi"
test02 = 2
Hello(10)
print(1)

주석(#)

Python 문법에서 # 뒤의 코드는 모두 주석 처리가 된다. 주석 처리가 된 코드는 실행에 영향을 안 준다. 주석 처리로 내가 무엇을 하고 있는지 정리를 하며 코드 작성을 하는 습관을 가지면 아주 좋다.

세미콜론(;) X

다른 프로그래밍 언어를 보면 한 줄이 끝나면 세미콜론(;)으로 한 줄이 마무리됐다는 것을 알려준다. 하지만 파이썬에서는 사용하지 않기 때문에 세미콜론(;) 실수 걱정을 안 해도 된다. 다른 언어를 배운 사람들은 오랜만에 Python을 사용하면 오히려 세미콜론(;)을 붙이는 실수를 한다.

들여쓰기(4 space)

위의 코드를 보면 4 space로 코드를 나눠 놓은 것이 보인다. 들여 쓰기를 이용하여 블록처럼 구간을 나눠서 사용한다. 한눈에 보기 정말 편하다. 하지만 다른 코드를 붙여넣기 할 때, 혹은 소스코드를 입력하고 실행할 때 space 문제로 오류를 만들기도 한다.

자동으로 자료형 지정

프로그래밍 언어를 배울때 학생들이 처음으로 어렵다고 생각하는게 자료형 선언이다. 하지만 파이썬에서는 자료형을 자동으로 지정해 준다.

Python의 철학

Python이 다른 언어와 다르게 간단하고 가독성이 좋은 것은 Python이 가지고 있는 철학 떄문이다. python.org 또는 아래의 코드를 Python 쉘에서 입력을 하면 확인할 수 있다.

import this

20개 정도가 있지만 간단하게 핵심 철학만 소개하도록 하겠다.

“아름다운게 추한 것보다 낫다.” (Beautiful is better than ugly)
“명시적인 것이 암시적인 것 보다 낫다.” (Explicit is better than implicit)
“단순함이 복잡함보다 낫다.” (Simple is better than complex)
“복잡함이 난해한 것보다 낫다.” (Complex is better than complicated)
“가독성은 중요하다.” (Readability counts)