3단계: 대화형 REPL 창 사용

이전 단계: 코드 작성 및 실행

Python용 Visual Studio 대화형 창 은 일반적인 편집-빌드-디버그 주기를 크게 단축하는 풍부한 REPL(read-evaluate-print-loop) 환경을 제공합니다. 대화형 창Python 명령줄의 REPL 환경의 모든 기능을 제공합니다. 또한 Visual Studio 편집기에서 코드를 원본 파일과 쉽게 교환할 수 있습니다. 그렇지 않으면 명령줄을 사용하여 다루기 어렵습니다.

참고 항목

REPL에 문제가 있는 경우 ipythonipykernel 패키지가 설치되어 있는지 확인하고, 패키지를 설치하는 데 도움이 필요한 경우 Python 환경 패키지 탭을 참조하세요.

  1. 솔루션 탐색기 프로젝트의 Python 환경을 마우스 오른쪽 단추로 클릭하고(예: 이전 그래픽에 표시된 Python 3.6(32비트) 대화형 창 열기를 선택하여 대화형 창을 엽니다. 또 다른 방법은 Visual Studio 주 메뉴에서 보기>다른 창>Python 대화형 창을 선택하는 것입니다.

  2. 대화형 창표준 >>> Python REPL 프롬프트를 사용하여 편집기 아래에 열립니다. 환경 드롭다운 목록을 사용하여 작업할 특정 인터프리터를 선택할 수 있습니다. 대화형 창을 더 크게 만들려면 아래 이미지에 표시된 두 창 간에 구분 기호를 끌 수 있습니다.

    Python interactive window and dragging to resize

    경계 구분 기호를 끌어 Visual Studio에서 모든 창의 크기를 조정할 수 있습니다. 창을 Visual Studio 프레임 밖으로 독립적으로 끌 수 있으며 프레임 내에서 원하는 대로 다시 배치할 수도 있습니다. 자세한 내용은 창 레이아웃 사용자 지정을 참조하세요.

  3. 몇 가지 문(예: print("Hello, Visual Studio")) 및 식(예: 123/456)을 입력하여 즉각적인 결과를 확인하세요.

    Python interactive window immediate results

  4. 여러 줄 문(예: 함수 정의)을 작성하기 시작하면 대화형 창에 연속 줄에 대한 Python의 프롬프트가 표시됩니다. 명령줄 REPL과 달리 이 프롬프트는 연속되는 줄에 자동 들여쓰기를 제공합니다. Shift+Enter를 눌러 새 ... 줄을 추가할 수 있습니다.

    Python interactive window with statement continuation

  5. 대화형 창입력한 모든 항목에 대한 전체 기록을 제공하고, 여러 줄 기록 항목을 사용하여 명령줄 REPL을 개선합니다. 예를 들어 함수 줄을 줄별로 다시 만들지 않고 f 함수의 전체 정의를 단일 단위로 손쉽게 회수하고 이름을 손쉽게 make_double로 변경할 수 있습니다.

  6. Visual Studio는 편집기 창에서 대화형 창으로 여러 줄의 코드를 보낼 수 있습니다. 이 기능을 사용하면 소스 파일의 코드를 기본 확인하고 선택한 조각을 대화형 창으로 쉽게 보낼 수 있습니다. 그런 다음 전체 프로그램을 실행하지 않고 신속한 REPL 환경에서 이러한 코드 조각을 사용하여 작업할 수 있습니다. 이 기능을 보려면 먼저 PythonApplication1.py 파일의 for 루프를 아래 코드로 바꿉니다.

    # Create a string with spaces proportional to a cosine of x in degrees
    def make_dot_string(x):
        return ' ' * int(20 * cos(radians(x)) + 20) + 'o'
    
  7. .py 파일에서 import, from, make_dot_string 함수 문을 선택합니다. 선택한 텍스트를 마우스 오른쪽 단추로 클릭하고 대화형으로 전송을 선택합니다(또는 Ctrl+Enter를 누름). 코드 조각은 대화형 창즉시 붙여넣고 실행됩니다. 코드가 함수를 정의했으므로 해당 함수를 여러 번 호출하여 신속하게 테스트할 수 있습니다.

    Sending code to the interactive window and testing it

    선택 영역 없이 편집기에서 Ctrl+Enter 키를 사용하면 대화형 창에서 현재 코드 줄이 실행되고 자동으로 다음 줄에 캐리트가 배치됩니다. 이 기능을 사용하면 Ctrl+Enter를 반복적으로 눌러 Python 명령줄만으로 가능하지 않은 단계별 코드 실행을 편리하게 수행할 수 있습니다. 또한 디버거를 실행하지 않으며 시작 부분에서 프로그램을 반드시 시작하지 않고 코드를 단계별로 실행할 수 있도록 합니다.

  8. Python 명령줄 REPL과는 관련이 없는 아래 코드 조각과 같은 모든 소스에서 여러 코드 줄을 복사하여 대화형 창에 붙여넣을 수도 있습니다. 붙여넣으면 대화형 창에서 입력한 것처럼 해당 코드를 실행합니다.

    for i in range(360):
        s = make_dot_string(i)
        print(s)
    

    Pasting multiple lines of code using Sending Interactive

  9. 보다시피 이 코드는 제대로 작동하지만 해당 출력은 권장할 만하지 않습니다. for 루프의 다른 단계 값은 코사인 웨이브로 표시됩니다. 전체 for 루프는 REPL 기록에서 단일 단위로 사용할 수 있습니다. 되돌아가서 원하는 대로 변경한 다음 함수를 다시 테스트할 수 있습니다. 위쪽 화살표 키를 눌러 먼저 for 루프를 회수합니다. 코드에서 왼쪽 또는 오른쪽 화살표 키를 눌러 탐색할 수 있습니다(이렇게 할 때까지 위쪽 및 아래쪽 화살표는 기록을 계속해서 순환함). 탐색하고 range 사양을 range(0, 360, 12)로 변경합니다. 그런 다음, 코드의 아무 곳에서나 Ctrl+Enter를 눌러 전체 문을 다시 실행합니다.

    Editing a previous statement in the interactive window

  10. 프로세스를 반복하여 가장 마음에 드는 값을 찾을 때까지 다른 단계 설정으로 실험합니다. 범위를 늘려(예: range(0, 1800, 12)) 웨이브 반복을 만들 수도 있습니다.

  11. 대화형 창에서 작성한 코드에 만족하면 선택합니다. 다음으로 코드를 마우스 오른쪽 단추로 클릭하고 코드 복사를 선택합니다(Ctrl+Shift+C). 마지막으로 선택한 코드를 편집기에 붙여 넣습니다. Visual Studio의 이 특별한 기능은 자동으로 모든 출력을 >>>... 프롬프트와 함께 생략합니다. 예를 들어 아래 이미지는 프롬프트 및 출력을 포함하는 선택 영역에서 코드 복사 명령을 사용하는 것을 보여 줍니다.

    Interactive window copy code command on a selection with prompts and output

    편집기에 붙여넣을 때 다음 코드만을 가져옵니다.

    for i in range(0, 1800, 12):
        s = make_dot_string(i)
        print(s)
    

    프롬프트 및 출력을 포함하여 대화형 창정확한 내용을 복사하려면 표준 복사 명령을 사용합니다.

  12. 수행한 작업은 대화형 창빠른 REPL 환경을 사용하여 코드의 작은 부분에 대한 세부 정보를 파악한 다음, 해당 코드를 프로젝트의 소스 파일에 편리하게 추가한 것입니다. 이제 Ctrl+F5(또는 디버그>디버깅하지 않고 시작)를 사용하여 코드를 다시 실행하면 원하는 정확한 결과가 표시됩니다.

다음 단계

자세히 알아보기