ローカル変数とグローバル変数

1204 ワード

関数とプロセスの概念
 
関数(function):戻り値あり
プロシージャ(procedure):単純、特殊、戻り値なし
 
Pythonは厳密には関数だけで、プロセスはありません.
Pythonはどんな関数でも何かを返すので、戻り値があれば戻り値、なければNone、Noneは特殊な値です.
 
 
関数変数の役割ドメイン
ローカル変数とグローバル変数
ローカル変数とは、関数内でのみ有効な変数であり、関数外では呼び出せません.
グローバル変数はファイル全体で有効です.
 
関数の定義中にグローバル変数にアクセスできますが、Pythonではグローバル変数名と同じローカル変数(shadowing)が自動的に作成されるため、グローバル変数の値を変更することはできません.関数の実行後、グローバル変数は実際には変更されません.
>>> x = 50
>>> def func(x):
	print('x  ',x)
	x =2
	print('    x   ',x)

>>> func(x)
x   50
    x    2
>>> print('x   ',x)
x    50

 
最上位レベルのプログラム(関数やクラスなどの任意のタイプの範囲)で定義されていない変数に値を割り当てるには、global文を使用してPythonという変数がグローバルであることを伝える必要があります.
>>>x = 50
>>> def func():
	global x    #    x     
	print('x   ',x)
	x = 2
	print('    x    ',x)

	
>>> func()
x    50
    x     2
>>> print('x   ',x)
x    2

  
ローカル変数とグローバル変数の説明は、次のとおりです.http://c.biancheng.net/cpp/html/1827.html