自作関数の外部、内部のどちらで変数を宣言するかによって
使用できる範囲が異なる
1 2 3 4 5 6 |
name = "max" def get_name(): name = input("Your name:") get_name() print(name) |
1 2 3 |
>>> Your name:Michael max |
上記の例では自作関数の外部でname=maxが宣言されているので
自作関数内部で別の変数が代入されたとしてもそれは
自作関数内部でのみ有効となるのでコードの最後でprintで変数name
を呼び出しても最初に宣言したmaxが表示される事になる
コードの最後のprintの部分で自作関数内で設定された変数の値を
反映させるには自作関数内部でglobal nameと記述し、
変数nameはグローバル関数と宣言する
そうすればコードの最後の部分のprintでは自作関数内で上書きされた
変数の内容が反映される事になる
1 2 3 4 5 6 7 |
name = "max" def get_name(): global name name = input("Your name:") get_name() print(name) |
1 2 3 |
>>> Your name:Michael Michael |
コメントを残す