teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2019/03/12 07:54

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -1,3 +1,7 @@
1
1
  型の問題についてはotnさんのご指摘の通りですが、重ねて言えば`fee=0`のような関数内での代入はすべてローカル変数への代入になりますので、意図通り動かないと思います。
2
2
 
3
- > 関数(def)→同様の動作をいたるところで繰り返し行うもの
3
+ > 関数(def)→同様の動作をいたるところで繰り返し行うもの
4
+
5
+ だと単純に呼び出した時点で関数内の一行目にジャンプし、実行が終われば戻ってくるだけ・・・と認識しておられるかと思いますが、実際はそれほど単純ではありません。呼び出し元と呼び出し先で名前空間が変わります。
6
+
7
+ あえて例えで書くと、普段は普通の机で仕事をしているけど、なにか特別な作業をするために荷物を持って別の机に移動してそこで作業する。作業が終わったら移動先の机の上のものは原則破棄されるので、元の机と同じ位置に置いておけば元の机に戻って使える訳ではなく、意識的に持ち帰らないといけないという感じです。