Python PyCharm 은 어떻게 정지점 디 버 깅 을 진행 합 니까?
python
프로그램 은 하나의print()
인쇄 출력 디 버 깅 만 있 는 것 이 아 닙 니 다.술 업 에 전공 이 있 는데,사람 에 게 도 그 렇 고,소프트웨어 에 도 마찬가지다.전문 적 인 소프트웨어 로 하여 금 전문 적 인 일 을 하 게 하 다.
이상 두 가지 결론:PyCharm
우 리 는 다음 과 같은 일반적인 오류 로 PyCharm 정지점 추적 을 통 해 프로그램의 오 류 를 발견 하 는 방법 을 보 여 줍 니 다.
def foo(bar=[]):
bar.append('bar')
return bar
>>>foo()
['bar']
>>>foo()
['bar', 'bar']
>>>foo()
['bar', 'bar', 'bar']
여기 서 흔히 볼 수 있 는 오 류 는 함수 가 선택 할 수 있 는 인삼 을 제공 하지 않 을 때마다 매개 변 수 를 기본 값 으로 설정 하 는 것 입 니 다.즉,이 예 에서 의[]
빈 list 입 니 다.여기 서 우 리 는 정지점 디 버 깅 방식 으로 추적 할 수 있 으 며,매번 함수 호출(전달 형 삼 을 표시 하지 않 음)시 형 삼 값 의 변 화 를 관찰 할 수 있다.
그림 에서 보 듯 이:
다음 그림 은 이 단락 을 예 로 들 어 프로그램의 bug 를 어떻게 발견 하 는 지 보 여 줍 니 다.
해결 방안:
def foo(bar=None):
if not bar:
bar = []
bar.append('baz')
return bar
>>>foo()
['baz']
>>>foo()
['baz']
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.