[解決済み】sys.stdout.writeとprintの違い?
2022-03-23 17:44:34
質問
という場面はありますか?
sys.stdout.write()
よりも望ましいとされています。
print
?
( 例 より良いパフォーマンス、より理にかなったコード)
解決方法は?
print
は単なる薄いラッパーで、入力をフォーマットし (変更可能ですが、デフォルトでは args の間にスペースを入れ、最後に改行します)、与えられたオブジェクトの書き込み関数を呼び出します。デフォルトでは、このオブジェクトは
sys.stdout
しかし、"chevron" の形式を使ってファイルを渡すことができます。例えば
print >> open('file.txt', 'w'), 'Hello', 'World', 2+3
ご覧ください。 https://docs.python.org/2/reference/simple_stmts.html?highlight=print#the-print-statement
Python 3.xの場合。
print
は関数になりますが、まだ
sys.stdout
のおかげで
file
引数で指定します。
print('Hello', 'World', 2+3, file=open('file.txt', 'w'))
参照 https://docs.python.org/3/library/functions.html#print
Python 2.6+の場合。
print
はまだステートメントですが、関数として使うには
from __future__ import print_function
更新:Bakuriuさんから、print関数とprint文(一般的には関数と文)の間にちょっとした違いがあることを指摘するコメントがありました。
引数の評価でエラーが発生した場合。
print "something", 1/0, "other" #prints only something because 1/0 raise an Exception
print("something", 1/0, "other") #doesn't print anything. The function is not called
関連
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み] Pythonで標準エラー出力するには?
-
[解決済み] print関数の出力をフラッシュする(pythonの出力をバッファリング解除する)にはどうすればよいですか?
-
[解決済み】__str__と__repr__の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピロウズ画像色処理の具体的な活用方法
-
PythonはWordの読み書きの変更操作を実装している
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
[解決済み] データ型が理解できない
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】syntaxError: 'continue' がループ内で適切に使用されていない
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み】ステータスバーとパーセンテージを出力するPython