標準ライブラリに、印刷関数が出力するものをすべて取り、それを文字列として返す関数があるかどうか疑問に思っています。あるべきだと思われますが、ある場合は適切な場所を探していません。
私の状況は、リストに格納された数字の文字列を(いくつかの計算の後に)作成するプログラミング演習を行ったことです。
digits=[1, 0, 0, 1, 0, 1, 0, 0, 0, 1]
および小数点の位置dp=4
これを 10 進数のようなものに丸めたいと思います。印刷機能は、私が望むものを表示するのにうまく機能します:
print(*(digits[:dp + 1] + ['.'] + digits[dp + 1:]), sep='')
生産する10010.10001
しかし、この結果を文字列として返したい場合は、追加のコードを記述する必要があるようです。難しいというわけではありませんが、すでに組み込まれているものがある場合は不要です。print、format、または % 演算子のどれもうまくいかないようです。私が見つけた最も近いものは StringIO クラスでしたが、もう少しシンプルで難解でないものを望んでいました。