簡単な質問ですみませんが、以下関数の出力が、何故そうなるのか分かりません。ご説明いただけますと幸いです。
①
def f (arg): i=3 print(arg) f(i) 出力:1
*グローバル変数は指定されていないのに、何故 3 ではなく 1 なのでしょうか?
よろしくお願いいたします
デバッグして変数の様子を追ってみると理解が深まるかと思いますが、デバッグされましたか?
お返事ありがとうございます。はい、やってみました。元々の問題は、
i=1
i=2
def f(arg)
i=3
print(arg)
i=4
i=5
出力 5
でした。i の代入を一つ一つ減らしていったところ、設定がなくてもi=1 になったので不思議でした。
上記コードは動かないですね。(エラーになります)
質問のコードはインデントがないので不確かですが、関数f ()の中身が「i=3, print(arg)」ですか?
であればf()は引数をprint出力する関数です。(質問のコードもf(i)のiが未定義かと思われます)
質問には何も書いてありませんが、PythonをJupyter Lab/Notebook、あるいはGoogle Colabなどで動かしているのでは?
ご回答ありがとうございます。Jupyter Notebookを使っています。
ご回答ありがとうございます。
>関数f ()の中身が「i=3, print(arg)」ですか?であればf()は引数をprint出力する関数です。
はい、そうです。ということは、引数argの値がprintされるのですが、だいにゅうされていないのでindex
と同じで 1 になったという理解でよいですか・
回答1件
あなたの回答
tips
プレビュー