많은 파이썬 프로그래머는 아마도 while
루프와 for
루프 의 구문에 선택적 else:
절이 포함되어 있다는 것을 인식하지 못합니다 .
for val in iterable:
do_something(val)
else:
clean_up()
else
절의 본문은 특정 종류의 정리 작업에 적합한 위치이며 루프가 정상적으로 종료 될 때 실행됩니다. 즉, 절 과 함께 루프를 종료 return
하거나 절을 break
건너 뜁니다 else
. continue
실행 후 종료 합니다. 난 그냥 때문이 알고 그것을보고 내가 기억하지 못할 수 있기 때문에, (다시 한번) 때else
절이 실행됩니다.
항상? 이름에서 알 수 있듯이 루프의 "실패"? 정기적으로 해지됩니까? return
?로 루프를 종료하더라도 나는 그것을 보지 않고 완전히 확신 할 수 없습니다.
나는 키워드의 선택에 대한 나의 지속적인 불확실성을 비난한다 else
. 내 질문은 "이 키워드가 왜 이런 목적으로 사용 되었는가"(답과 의견을 읽은 후에 만 투표 할 수 있음 )가 아니라 키워드의 의미가 이해되도록 키워드 에 대해 어떻게 생각할 수 else
있습니까? 그러므로 기억할 수 있습니까?
나는 이것에 대해 상당한 양의 논의가 있었을 것이라고 확신하며, try
성명서의 else:
조항 (또한 조회해야 함)과 일관성을 유지하기 위해 선택되었으며 파이썬의 예약어. 아마도 선택의 이유는 else
그 기능을 명확히하고 더 기억에 남을 것이지만, 나는 역사적 설명 자체가 아니라 이름을 기능에 연결 한 후입니다.
에 대한 답변 이 질문에 내 질문에 간단히의 중복으로 폐쇄했다, 흥미로운 다시 이야기를 많이 포함되어 있습니다. 내 질문은 다른 초점 ( else
키워드 선택과 특정 의미를 연결하는 방법 )이 있지만 어딘가에이 질문에 대한 링크가 있어야한다고 생각합니다.
else
수단 기본적으로, "계속 상태가 실패 할 경우". 루프 전통에서 계속 조건은 일반적으로 i < 42
이 경우, 당신은으로 그 부분을보실 수 있습니다,if i < 42; execute the loop body; else; do that other thing
break
있습니다. 정식 유스 케이스는 루프가 무언가를 검색하고 발견하면 중단됩니다. 는 else
아무 것도 발견되지 않는 경우에만 실행됩니다.