Pythonで:が必要なコマンドの決まりを教えて下さい


Pythonの`:`が必要なコマンドの決まりを教えて下さい  
Ifの後とかWhileの後とかelseの後とか  
何となくわかるのですがすっきりしません。




行末にコロンが必要なものであれば複合文(制御文)が該当します。  
<http://docs.python.jp/3/reference/compound_stmts.html>  
その次の行からインデントして一つのブロックがはじまることを表します。

こちらもどうぞ:  
<http://docs.python.jp/3/faq/design.html#why-are-colons-required-for-the-if-
while-def-class-statements>

