python関数
グローバル変数
グローバル変数は、領域全体からアクセスできる変数です.
ゾーン変数
特定の関数でのみアクセスできる変数.
これにより、グローバル変数は、グローバル変数が宣言された場所でのみ置き換えられます.
ゾーン変数は特定の関数内でのみアクセスして変数を変更できますか?
答えじゃない
領域変数は正しいが、グローバル変数は特定の関数内でグローバル変数を変更することができる.
g_var = 10
def func():
global g_var
g_var = 20
print(f"g_var : {g_var} before") # g_var : 10 before
func()
print(f"g_var : {g_var} after ") # g_var : 20 after
このまま交換するわけにはいきませんが、globalという文法が必要です.
オブジェクト参照転送-可変オブジェクトを転送する場合
def change_value(x, value):
x = value
print(f"x : {x} in change_value") # x : 20 in change_value
x = 10
change_value(x, 20)
print(f"x : {x} in main") # x : 10 in main
xは10を参照する.パラメータxは、change value()関数を呼び出すことによって伝達される.
関数呼び出し時
x=valueコードが実行されます.
xはvalueが指す定数オブジェクトを参照します.
change value()関数呼び出しを完了するスタックフレームは、次のとおりです.
グローバル変数のxリファレンス10のみが残ります.
Reference
この問題について(python関数), 我々は、より多くの情報をここで見つけました https://velog.io/@ash3767/함수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol