>>297
>オブジェクトを人間にわかる形に翻訳して見せるのがprintの目的なんだから
人間にわかる形に翻訳するのは各オブジェクトに定義されている__str__の役割
どういう文字列表現にするかはprintを呼び出す前から各オブジェクトごとにすでに決まっていてprintは関知しない

逆にpprintの場合はどういう文字列表現にするかを基本的にpprintが決めている
同じ型のオブジェクトでも異なる文字列表現が要求されることを前提とした用途なので

便利な状況が多いかどうかで仕様が決まるのはその通り
つまりprintは可変長の位置引数が取れたほうが便利な状況が多いが
pprintは可変長の位置引数が取れても便利な状況があまりないということ