Por que python usa 'else' depois de loops for e while?

Eu entendo como essa construção funciona: for i in range(10): print(i) if i == 9: print("Too big - I'm giving up!") break; else: print("Completed successfully") Mas não entendo por que elseé usada como palavra-chave aqui, pois sugere que o código em questão só é executado se o forbloco não...