Pythonのjoin()メソッドが文字列に属する理由

Pythonでは、join()メソッドはリストではなく文字列に属しています。この設計に関する議論は、Pythonの開発初期に遡ります。文字列結合は多くのイテラブル(リストやタプルなど)に適用でき、返されるのは必ず文字列です。したがって、文字列側にjoin()を実装することで、イテラブルとの不自然な依存を避ける設計が選ばれました。

words = ["Hello", "world"]
result = "-".join(words)
print(result)  # 出力: Hello-world

結論

join()メソッドは文字列操作として、他のオブジェクトへの依存を避け、汎用性を維持するために、文字列側に実装されています。