関数がどのように機能し、どのように変数に割り当てることができるかについて、十分に理解していると思いました。しかし、数か月前に読んだ Learn Python the Hard Way 演習 (最も顕著なのは演習 21) を調べていたところ、インタープリターの出力に関する興味深い点に気付きました。
def add(a, b):
print "ADDING %d + %d" % (a, b)
return a + b
出力:
>>> add(30, 5)
ADDING 30 + 5
35
これが 35 を示しているのはなぜですか? 戻り値が表示されるようにするには、「print add(30, 5)」と記述する必要がありますか?
>>> age = add(30, 5)
ADDING 30 + 5
>>> age
35
変数の割り当ては、関数を呼び出して、戻り値ではなく print ステートメントを出力するように見えますが、変数自体は値 35 を示しています。変数の割り当てが同じではないのはなぜですか?
これらの質問が理にかなっていることを願っています。舞台裏で何が起こっているのかをよりよく理解しようとしているだけです。誰かが外部の読書を持っているなら、私に知らせてください!