But there clearly is a body of knowledge which you can discover yourself: you can interview candidates, read discussions on SO, read library code, and you will find some techniques are commonly used, and some are rarely used.
That distribution of what's known is changing over time regardless of what we do, because our peers are constantly learning and studying at different rates.
This feature has been around for years, and is so rarely used that only language mavens know about it. Thus, you can observe that this is a failed feature and avoid using it.
We can always reevaluate if people understand it later on, since that could change.
In a way I find your comment contradictory: on the one hand, you appreciate and embrace that the body of common knowledge can change. On the other hand, you use the current state of common knowledge as an argument against doing things that can improve the common knowledge.
Here’s the python language reference from python version 1.4 (1996), http://web.archive.org/web/19970606191447/http://www.python....
> The expression list is evaluated once; it should yield a sequence. The suite is then executed once for each item in the sequence, in the order of ascending indices. Each item in turn is assigned to the target list using the standard rules for assignments, and then the suite is executed. When the items are exhausted (which is immediately when the sequence is empty), the suite in the else clause, if present, is executed, and the loop terminates.
> A break statement executed in the first suite terminates the loop without executing the else clause's suite. A continue statement executed in the first suite skips the rest of the suite and continues with the next item, or with the else clause if there was no next item.
* * *
Here’s the tutorial, http://web.archive.org/web/19970606183615/http://www.python....
> The break statement, like in C, breaks out of the smallest enclosing for or while loop.
> The continue statement, also borrowed from C, continues with the next iteration of the loop.
> Loop statements may have an else clause; it is executed when the loop terminates through exhaustion of the list (with for) or when the condition becomes false (with while), but not when the loop is terminated by a break statement. [... and then an example ...]
You decide with experience. When other people read my code, this is probably the feature that surprises them most. Other features that they haven't seen before usually make sense from context. This one is surprising enough that I often forget whether it executes if there is a break or if there isn't a break.
When explaining and remembering what the syntax means dwarfs the effort saved by using the syntax, it's a niche syntax trick.