이전에 배웠거나 이해했으면 좋았을 텐데 최근에 배운 것이 무엇입니까?

6168 단어 pythontutorialdiscuss
표지 사진 나는 David Travis에서 Unsplash에 의해 명확성을 얻도록 요청합니다.


광산은 파이썬 디버거입니다. 나는 인쇄문이 충분하다고 생각하는 오랜 버팀목이었습니다. 실행하는 데 몇 분이 걸리는 함수에서 오류가 발생하기 전까지는 그랬습니다. 내가 알았더라면 좋았을 가장 눈에 띄는 것은 사후 부검입니다.

예시




[ins] In [4]: def repeater(msg, repeats=1): 
         ...:     "repeats messages {repeats} number of times" 
         ...:     print(f'{msg}\n' * repeats) 

[ins] In [5]: repeater('hi', 3)                                                                                                                                                                                                                       
hi
hi
hi

[ins] In [6]: repeater('hi', 'a')                                                                                                                                                                                                                     
--------------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-6-0ec595774c81> in <module>
---------> 1 repeater('hi', 'a')

<ipython-input-4-530890de75cd> in repeater(msg, repeats)
      1 def repeater(msg, repeats=1):
      2     "repeats messages {repeats} number of times"
---------> 3     print(f'{msg}\n' * repeats)
      4 


iPython/Jupyter로 디버그




%debug


바닐라 디버그




import pdb
import sys

pdb.post_mortem(sys.last_traceback)




디버거 체크아웃에 대한 자세한 내용은 실제 Python 문서를 참조하세요. https://realpython.com/python-debugging-pdb/

또한 기사https://realpython.com/python-debugging-pdb/#essential-pdb-commands에서 pdb 명령 테이블의 책갈피를 유지하십시오.

디버그 세션



좋은 웹페이지 즐겨찾기