소개
파이썬 대화형 콘솔(또는 파이썬 인터프리터 또는 파이썬 셸이라고도 함)은 프로그래머에게 파일을 만들지 않고 명령을 실행하고 코드를 시험하거나 테스트하는 빠른 방법을 제공합니다.
모든 파이썬 내장 함수와 설치된 모든 모듈, 명령 히스토리 및 자동 완성에 액세스를 제공하는 대화형 콘솔은 파이썬을 탐색하고 코드를 프로그래밍 파일에 붙여 넣을 수 있는 기회를 제공합니다.
이 튜토리얼에서는 파이썬 대화형 콘솔을 사용하는 방법과 프로그래밍 도구로서의 활용 방법을 살펴 보겠습니다.
필수 조건
컴퓨터 또는 서버에 Python 3가 설치되어 있고 프로그래밍 환경이 설정되어 있어야 합니다. 프로그래밍 환경이 설정되어 있지 않은 경우 운영 체제(우분투, CentOS, Debian 등)에 적합한 로컬 프로그래밍 환경 또는 서버의 프로그래밍 환경에 대한 설치 및 설정 가이드를 참조할 수 있습니다.
대화형 콘솔 진입
Python 대화형 콘솔은 Python이 설치된 로컬 컴퓨터나 서버에서 어디에서나 접근할 수 있습니다.
기본 Python 버전의 Python 대화형 콘솔에 진입하는 명령은 다음과 같습니다:
로컬 가상 Python 환경을 사용하는 경우 기본 Python 버전으로 진입합니다:
전제 조건 섹션에 따라 프로그래밍 환경을 설정했다면, 다음 명령을 사용하여 해당 환경에 설치된 Python 및 모듈 버전에 액세스할 수 있습니다:
그런 다음 python
명령을 입력합니다:
이 경우, 기본 Python 버전은 Python 3.8.10이며 해당 명령을 입력하면 출력에 표시됩니다. 저작권 고지 및 추가 정보를 위해 입력할 수 있는 일부 명령도 표시됩니다:
OutputPython 3.8.10 (default, Jun 2 2021, 10:49:15)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
다음 명령을 위한 기본 프롬프트는 세 개의 크게 더한 부호 (>>>
)입니다:
명령에 버전 번호를 추가하여 특정 Python 버전을 지정할 수 있습니다. 공백 없이 추가하십시오:
참고: 2020년 1월 현재, Python 2는 더 이상 업데이트되지 않으며 종료되었습니다. 자세한 내용은 [Python 2 종료] (https://www.python.org/doc/sunset-python-2/)를 참조하십시오.
OutputPython 2.7.18 (default, Mar 8 2021, 13:02:45)
[GCC 9.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
여기에서 Python 2.7.18의 출력을 받았습니다. 이것이 Python 2의 기본 버전이라면, 이 대화형 콘솔로 다음 명령을 사용하여 진입할 수도 있습니다: python2
.
대안으로 다음 명령으로 기본 Python 3 버전을 호출할 수 있습니다:
OutputPython 3.8.10 (default, Jun 2 2021, 10:49:15)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
또한 위의 대화형 콘솔을 다음 명령으로 호출할 수도 있었습니다: python3.8
.
Python 대화형 콘솔이 실행된 상태에서 우리는 Python의 셸 환경에서 작업할 수 있습니다.
Python 대화형 콘솔 작업
Python 대화형 해석기는 Python 구문을 수용하며, 이를 >>>
접두사 뒤에 배치합니다.
예를 들어, 우리는 변수에 값을 할당할 수 있습니다:
변수 birth_year
에 정수 값 1868
을 할당한 후, 반환 키를 누르면 세 개의 큰 부등호 기호가 접두어로 있는 새로운 줄을 받게 됩니다:
우리는 계속해서 변수를 할당하고 그런 다음 연산자를 사용하여 연산을 수행하여 계산을 반환할 수 있습니다:
>>> birth_year = 1868
>>> death_year = 1921
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>>
스크립트 파일에서와 같이 변수를 할당하고 다른 변수에서 하나를 빼고 콘솔에 차이를 나타내는 변수를 출력하도록 지정했습니다.
파이썬의 어떤 형태에서든 인터랙티브 콘솔을 계산기로 사용할 수 있습니다:
>>> 203 / 20
10.15
>>>
여기서 정수 203
을 20
으로 나누고 10.15
의 몫이 반환되었습니다.
여러 줄
여러 줄에 걸친 파이썬 코드를 작성할 때 해석기는 연속된 줄에 대해 보조 프롬프트인 세 개의 점(...
)을 사용합니다.
이러한 연속된 줄에서 벗어나려면 ENTER
를 두 번 누르십시오.
두 변수를 할당하고 조건문을 사용하여 콘솔에 무엇을 출력할지 결정하는 다음 코드에서 이것이 어떻게 보이는지 볼 수 있습니다:
>>> sammy = 'Sammy'
>>> shark = 'Shark'
>>> if len(sammy) > len(shark):
... print('Sammy codes in Java.')
... else:
... print('Sammy codes in Python.')
...
Sammy codes in Python.
>>>
이 경우 두 문자열의 길이가 동일하므로 else
문이 출력됩니다.
파이썬의 들여쓰기 관례를 네 개의 공백으로 유지해야만 오류가 발생하지 않음을 유의하십시오:
>>> if len(sammy) > len(shark):
... print('Sammy codes in Java.')
File "<stdin>", line 2
print('Sammy codes in Java.')
^
IndentationError: expected an indented block
>>>
파이썬 콘솔에서 여러 줄로 코드를 실험할 수 있는 것뿐만 아니라 모듈도 가져올 수 있습니다.
모듈 가져오기
Python 인터프리터는 특정 프로그래밍 환경에서 모듈이 사용 가능한지 빠르게 확인할 수 있는 방법을 제공합니다. 이를 위해 import
문을 사용할 수 있습니다:
>>> import matplotlib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'matplotlib'
위의 경우, 모듈 matplotlib이 현재 프로그래밍 환경에서 사용할 수 없었습니다.
이를 설치하려면 대화형 인터프리터를 종료하고 보통처럼 pip로 설치해야 합니다:
OutputCollecting matplotlib
Downloading matplotlib-3.4.3-cp38-cp38-manylinux1_x86_64.whl (10.3 MB)
...
Installing collected packages: numpy, python-dateutil, kiwisolver, pillow, pyparsing, cycler, matplotlib
Successfully installed cycler-0.10.0 kiwisolver-1.3.1 matplotlib-3.4.3 numpy-1.21.2 pillow-8.3.1 pyparsing-2.4.7 python-dateutil-2.8.2
matplotlib 모듈과 해당 종속성이 성공적으로 설치된 후에 대화형 인터프리터로 돌아갈 수 있습니다:
이 시점에서 오류 메시지가 표시되지 않고 셸 내에서 또는 파일 내에서 설치된 모듈을 사용할 수 있습니다:
Python 대화형 콘솔 종료하기
Python 대화형 콘솔을 종료하는 두 가지 주요 방법이 있습니다. 키보드 단축키 또는 Python 함수를 사용하여 종료할 수 있습니다.
키보드 단축키 CTRL
+ D
는 *nix 기반 시스템에서는 콘솔을 중단하고 원래의 터미널 환경으로 돌아가게 하거나, 윈도우 시스템에서는 CTRL
+ Z
그 후 CTRL
키를 누르면 콘솔을 중단하고 원래의 터미널 환경으로 돌아갑니다:
...
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>>
sammy@ubuntu:~/environments$
대안으로 Python 함수 quit()
을 사용하면 대화형 콘솔을 종료하고 이전에 있던 원래의 터미널 환경으로 돌아갑니다:
>>> octopus = 'Ollie'
>>> quit()
sammy@PythonUbuntu:~/environments$
...
age_at_death = death_year - birth_year
print(age_at_death)
octopus = 'Ollie'
quit()
함수 quit()
을 사용하면 히스토리 파일에 기록되지만 키보드 단축키 CTRL
+ D
는 기록되지 않습니다:
히스토리 접근
Python 대화형 콘솔의 유용한 기능 중 하나는 모든 명령이 *nix 기반 시스템의 .python_history
파일에 기록된다는 것입니다. 이 파일은 nano와 같은 텍스트 편집기로 열어 볼 수 있습니다:
텍스트 편집기로 열면 자신의 Python 명령 히스토리가 포함된 다음과 같은 Python 히스토리 파일이 나타납니다:
import pygame
quit()
if 10 > 5:
print("hello, world")
else:
print("nope")
sammy = 'Sammy'
shark = 'Shark'
...
nano를 종료하려면 파일을 편집한 후 CTRL
+ X
를 누릅니다.
모든 Python 기록을 추적하여 이전 명령 및 실험으로 돌아가고 해당 코드를 Python 프로그래밍 파일이나 Jupyter Notebook에서 사용할 수 있습니다.
결론
Python 대화형 콘솔은 Python 코드를 실험할 수 있는 공간을 제공합니다. 이를 테스트, 논리를 해결하는 도구로 사용할 수 있습니다.
Python 프로그래밍 파일 디버깅에 사용하려면 Python code
모듈을 사용하여 파일 내에서 대화형 인터프리터를 열 수 있습니다. 이에 대한 자세한 내용은 가이드 대화형 콘솔로 Python 디버깅하는 방법을 참조하십시오.
Source:
https://www.digitalocean.com/community/tutorials/how-to-work-with-the-python-interactive-console