파이썬 코드 확인 - paisseon kodeu hwag-in

파이썬 튜터라는 사이트를 알고계신가요? 한번 사용해봤는데 복잡한 코드 내용을 한줄씩 실행시켜 코드의 내용을 시각화해서 보여주는 편리한 툴로 사용할 수 있습니다. 여러 모듈들을 사용하여 어떤 프로젝트의 전반적인 흐름을 확인하기보다는 알고리즘 문제를 눈으로 흐름을 확인할 수 있는 용도로 사용하면 좋을 것 같다는 생각이 드네요.

재귀함수 같은 경우는 보통 머리속으로 생각해서 흐름을 파악하기 쉽지 않자나요? 아니면 매우 복잡한 다중 반복문을 사용하는 경우나... 이런 로직 부분에서 이해가 필요할때 정말 유용한 사이트 인것 같습니다.

파이썬 튜터

파이썬 코드 확인 - paisseon kodeu hwag-in

Visualize your code and get live help now 링크를 클릭하면 직접 파이썬 코드를 입력하면서 한줄 한줄 확인이 가능합니다.

파이썬 재귀함수 흐름 예시

def listSum(numbers):
    if not numbers:
        return 0
    else:
        (f, rest) = numbers
        return f + listSum(rest)

myList = (1, (2, (3, None)))
total = listSum(myList)
파이썬 코드 확인 - paisseon kodeu hwag-in

홈페이지에 나와있는 간단한 재귀함수 예시입니다.

이런 식으로 복잡하지 않는데 생각보다 머리를 조금 써야하는 코드들!을 시각화해서 확인 가능하게 해주는 파이썬 튜터입니다.

Visualize Execution 버튼을 누르면 해당 코드로 흐름을 한단계씩 시각화해서볼 수 있고

Live Programming Mode를 클릭하면 코드를 수정하면서 확인할 수 있습니다.

파이썬 튜터 코드 시각화 흐름

파이썬 코드 확인 - paisseon kodeu hwag-in

이런식으로 한줄씩 로직이 어떻게 변하고 있는지, 현시점에서 자료형의 상태가 어떻게 되어 있는지...

딱 보자마자 알고리즘에서 이해 안되는 부분을 확인하기 위해 참 사용하기 좋을것 같다는 생각이 들었습니다.

파이썬 코드 확인 - paisseon kodeu hwag-in
파이썬 코드 확인 - paisseon kodeu hwag-in
파이썬 코드 확인 - paisseon kodeu hwag-in
파이썬 코드 확인 - paisseon kodeu hwag-in
파이썬 코드 확인 - paisseon kodeu hwag-in
파이썬 코드 확인 - paisseon kodeu hwag-in
파이썬 코드 확인 - paisseon kodeu hwag-in
파이썬 코드 확인 - paisseon kodeu hwag-in

각 줄마다 실행을 해주고 무엇보다 반복문을 돌아게 되거나 함수를 사용하면 각각 로직안으로 다시 들어가 반복하여 진행 상태를 일일히 하나씩 다 보여줍니다.

파이썬 코드 확인 - paisseon kodeu hwag-in
파이썬 코드 확인 - paisseon kodeu hwag-in
파이썬 코드 확인 - paisseon kodeu hwag-in
파이썬 코드 확인 - paisseon kodeu hwag-in
파이썬 코드 확인 - paisseon kodeu hwag-in

특히 이런 재귀함수같은 부분에서는 손으로 그리면서 한줄씩 확인해도 많이 헷갈리는데 정말 이해하기 쉽게 시각화해서 보여주는것이 파이썬 튜터의 최대 장점인 것 같습니다.

이 사이트는 UC San Diego의  Philip Guo 교수님이 개발하신 것입니다. 제작 과정에 대한 내용을 아래 링크에서 확인 가능합니다.

http://pgbovine.net/publications.htm#Online_Python_Tutor_web_based_program_visualization_SIGCSE_2013

저도 아직 많이 사용해보지는 않았지만, 정말 유용하게 잘 사용할수 있을 것 같은 사이트입니다. 파이썬 튜터만의 또다른 강점은 파이썬 말고도 Java, C, C++, Javascript, TypeScript, Ruby와 같은 언어로도 똑같이 코드의 시각화로 흐름을 확인할 수 있습니다.

Python Tutor - Visualize Python, Java, C, C++, JavaScript, TypeScript, and Ruby code execution

VISUALIZE CODE AND GET LIVE HELP Learn Python, Java, C, C++, JavaScript, and Ruby Python Tutor (created by Philip Guo) helps people overcome a fundamental barrier to learning programming: understanding what happens as the computer runs each line of code. W

pythontutor.com