シングルクォーテーションとダブルクォーテーションの使いわけ

Python は言語仕様上文字列は'...'(シングルクォーテーション)と"..."(ダブルクォーテーション)のどちらでもいいようだ。
Perl / Ruby / PHP は二つの文字列を区別しててダブルクォーテーションの場合、文字列内の特殊文字や変数などを置換して、シングルクォーテーションの場合は置換をせずそのまま出力する。
Pythonの場合はどちらの場合もエスケープ文字を置換して出力する。置換しない場合は文字列の前にRAWの意味の r または R をつける。

>>> print 'abc\n123'
abc
123
>>> print "abc\n123"
abc
123
>>> print r'abc\n123'
abc\n123
>>> print r"abc\n123"
abc\n123

同じ処理ならどちらか片方に統一すればいいかと思うがライブラリ中でも両方が使われている。基本的にはダブルクォーテーションが多いようだ。