◆ 公式の推奨だと 1 行目にまとめで空行あけて詳細
◆ 1 行目は """ のあと
◆ """ のあとはなんか気持ち悪さがあるけどタイトル行と考えると特別感があっていいのかも

関数やクラスの最初に """ を使って文字列を置いとけばいいくらいに思ってました
こんなの

def fun():
"""
aaa
bbb
ccc
"""
return 1

ドキュメントを見てみると もう少しちゃんとした決まりがあるようです
決まりと言っても推奨程度でこうじゃないと何か問題が起きるわけではないです

最初の行は、常に対象物の目的を短く簡潔にまとめたものでなくてはなりません。簡潔に書くために、対象物の名前や型を明示する必要はありません。名前や型は他の方法でも得られるからです (名前がたまたま関数の演算内容を記述する動詞である場合は例外です)。最初の行は大文字で始まり、ピリオドで終わっていなければなりません。

ドキュメンテーション文字列中にさらに記述すべき行がある場合、二行目は空行にし、まとめの行と残りの記述部分を視覚的に分離します。つづく行は一つまたはそれ以上の段落で、対象物の呼び出し規約や副作用について記述します。

def my_function():
"""Do nothing, but document it.

No, really, it doesn't do anything.
"""
pass

大文字とかピリオド終わりは英語固有のもので ちゃんとした文章形式にするってことですね
簡単に言うと 1 行目にまとめ書いて空行をいれてそれ以降に詳細を書くということです

個人的には """ の後って何も書きたくなくて 次の行から始めていました
JavaScript で `` に HTML を書くときも同じ感じです

なので ときどき """ のあとに文字を書いてる docstring を見るとなんか気持ち悪いなぁと思ってました
しかし こっちが公式が推奨する書き方だったようです
1 行目だけ """ が入るのは気持ち悪さがありますが 1 行目は特別なタイトル行で 2 行目が空行になると考えるとそれほどでもないのかもしれません
markdown の # みたいなものって考えれば逆にあったほうがいいように見えてくるような気も?