본문 바로가기
아이티/파이썬

너무 쉬운 파이썬 강좌 2) 파이썬 기초 강좌 인터프리터 컴파일러 차이

by 베베슈슈 2023. 11. 18.

목차

    파이썬을 시작하기 전에

    코딩에 관심이 있어서 책을 찾아보게 되면 파이썬의 특징에 인터프리터라는 부분이 있을 텐데 C나 JAVA와 같은 컴파일 언어들과는 달리  한 번에 연결된 라이브러리들을 모두 엮어 컴파일을 통해 하나의 프로그램을 만들어서 실행하는 것이 아니라 프로그램을 입력하면 바로바로 실행하는 구조를 가지고 있다고 한다.

    • 인터프리터 언어: 소스코드를 인터프리터가 바로바로 실행하며 실행파일이 따로 생성되지 않는다. 코딩 중에 바로 결과를 알 수 있기 때문에 디버깅에 유리하지만 최적화는 별도로 필요하다.
    • 컴파일러 언어: 컴파일러를 통해 소스코드를 기계어코드로 변환해서 실행파일을 생성한다. 전체코드가 한 번에 컴파일되어 실행파일이 되기 때문에 소스코드 작성 시 프로그램이 어떻게 구동될지에 대해 미리 생각해야 하고 실행 도중에 오류가 발생할 경우 소스코드를 분석하고 디버깅코드를 넣기도 하고 경우의 수를 그려가며 디버깅해야 하는 만큼 작업시간이 많이 걸릴 수 있다. 하지만 완성 된 프로그램은 메모리에 올라가 빠르게 실행되고 최적화에 용이한 만큼 규모가 큰 프로그램에 적합하다.

     

    프로그램을 실행하기에 앞서 컴파일러와 인터프리터를 설명한 것은 앞으로 어떤 툴을 사용할 것인가에 대해 선택에 도움을 주고 싶어서이다. 파이썬은 사용하는 도구는 여러 가지인데 기본적인 파이썬 인터프리터 외에 에디터들도 제공이 되고 있다. 파이썬 공식사이트에서 제공하는 파일을 설치하면 인터프리터 형태로 사용할 수 있고, VSCode를 설치하면 베이직이 컴파일러의 형태로 제공되는 것과 비슷하게 컴파일러 느낌으로 사용할 수도 있다. 두 가지 툴을 모두 사용해 보고 본인에게 알맞은 툴을 사용해 보는 게 좋을 것 같다.
     

    파이썬 코드 작성방법

    예전에 프로그램을 공부할 때 언어는 달라도 공통적으로 처음 짜는 소스코드는 화면에 Hello World!! 를 출력하는 코드예제가 나왔던 기억이 있다. 일종의 밈인지 오마주인지 인 것 같은데.. 그래서 처음 실행은 역시 Hello World를 출력하는 것으로 해보고자 한다. 우선 파이썬을 실행시킨 후 아래의 코드를 순차적으로 입력해 보자.

    1. Python 3.12.0 (tags/v3.12.0:0fb18b0, Oct  2 2023, 13:03:39) [MSC v.1935 64 bit (AMD64)] on win32
    2. Type "help", "copyright", "credits" or "license" for more information.
    3. >>>
    4. >>> a = "Hello "
    5. >>> b = "World!!"
    6. >>> c = a + b
    7. >>> c
    8. 'Hello World!!'
    9. >>> print(c)
    10. Hello World!!
    11. >>> exit()      #exit()는 프로그램을 종료시킬 때 사용하는 코드

    a라는 변수에 Hello를 입력하고 b라는 변수에 World!!라는 값을 입력한 뒤에 c에 두 값을 더해보았다. 
    그런 뒤에 c라는 값을 그냥 두 가지 방법으로 출력해 보았는데 뒤에 VSCode와 비교해 보기 위해서 두 가지 방법으로 출력해 보았다.
    7번 줄과 9번 줄에서 각 각 c의 값을 화면에 출력하도록 하였는데 프로그램을 작성 중인데도 8번, 10번 줄에 값을 출력해 주는 것을 볼 수 있다. 이런 게 인터프리터의 특징이라고 할 수 있다.
     

    파이썬 코드 작성방법(VSCode)

    이번에는 VSCode를 통해서 같은 코드를 작성해 보자.
    1. 프로젝트를 등록하기 위해 File -> Open Folder를 해서 폴더를 연다.
    2. 프로젝트 이름에 마우스를 올려보면 NewFile 아이콘이 생긴다. 새 파일을 열면 이름을 Python_test.py라고 작성한다.
    3. 위에서 작성한 코드를 Python_test.py에 아래와 같이 옮긴다.

    VSCode를 이용한 Python 예제
    VSCode를 이용한 Python 예제

     
    우측상단의 ▷ 버튼을 누르면 하단에 코드 실행결과가 나타난다.

    테스트 프로그램 실행 결과
    테스트 프로그램 실행 결과

     
    실행해 보면 Terminal에 실행결과가 나오고 프로그램이 종료되어 버리는데 실행결과 Hello World!! 가 한 번만 출력된 것을 볼 수 있다. 4번 줄에서 c라고 입력한 게 표시되지 않은 것을 알 수 있다. 이렇게 인터프리터 형식이 아니라 컴파일러 형식을 사용하게 되면 명시적으로 화면에 출력하겠다는 의사를 나타내야 하는데 나중에 작성된 코드를 보게 되면 에디터를 통해 작성한 코드가 가독성이 더 좋아서 코드 예제 등을 작성할 때는 VSCode에서 사용하는 형식으로 제공하려고 한다.