This is what it essentially means:
for/while ...:
if ...:
break
if there was a break:
pass
else:
...
It's a nicer way of writing of this common pattern:
found = False
for/while ...:
if ...:
found = True
break
if not found:
...
The else clause will not be executed if there is a return because return leaves the function, as it is meant to. The only exception to that which you may be thinking of is finally, whose purpose is to be sure that it is always executed.
continue has nothing special to do with this matter. It causes the current iteration of the loop to end which may happen to end the entire loop, and clearly in that case the loop wasn't ended by a break.
try/else is similar:
try:
...
except:
...
if there was an exception:
pass
else:
...