トップページ > プログラム > 2015年02月22日 > TAWF76o2

書き込み順位&時間帯一覧

42 位/252 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000100000100000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
くだすれPython(超初心者用) その25©2ch.net

書き込みレス一覧

くだすれPython(超初心者用) その25©2ch.net
611 :デフォルトの名無しさん[sage]:2015/02/22(日) 10:13:30.86 ID:TAWF76o2
最初の質問者じゃないんだけど、疑問に思ったので便乗質問させてください。

print関数って2.6以降の2.x系にバックポートされて、
2.6と2.7ではprint文とprint関数の両方が使える、
と思い込んでたけど、実は違った。
ここの流れを見ていて、同じprint関数なのになんで挙動が違う?
と疑問に思って調べて、初めて知った。

2.x系におけるprint()は、見かけに相違して、print関数ではなく、
() で囲まれた式をprint文に渡しているものとして解釈されている。
("a") みたいに () の中がひとつなら2.xでも3.xでも同じ挙動だけど、
("a", "b") みたいに () の中に "," で区切って複数を並べると、
2.xではタプルをprint文に渡したものとして解釈される
(一方、3.xではふたつの引数をprint関数に渡したものとして解釈される。
2.xにおける print "a", "b" と同じ)。
2.x系でprint()に3.x系と同じ挙動を求めるなら、
from __future__ import print_function を実行して、
print文を無効にし、print関数を有効にしなければならない。

この理解であっていますか?
くだすれPython(超初心者用) その25©2ch.net
627 :デフォルトの名無しさん[sage]:2015/02/22(日) 16:46:55.79 ID:TAWF76o2
>>613
ありがとう。

>>612
少なくとも俺はそう思い込んでたっていうこと。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。