Pythonはmainで関数内の関数を呼び出す方法
Pythonはmainで関数内の関数を呼び出す方法
一般的にPythonで定義されている関数は直接呼び出すことはできませんが、使うならどうしますか?一般的な状況:
結果:
でもまた使います.どうしますか.このとき,関数aにb関数の関数名を返すだけで,b関数を用いることができる.
結果:
同じ関数内の複数の関数を呼び出す必要がある場合:ここではまずグローバル変数Position_を設定します.numberは、その後、a()でこのグローバル変数を説明し、グローバル変数の変更によってa()の異なる関数を呼び出す.
結果:
一般的にPythonで定義されている関数は直接呼び出すことはできませんが、使うならどうしますか?一般的な状況:
def a():#
def b():#
print(' B')
b()#
結果:
Traceback (most recent call last):
File "C:/Users/rog/Desktop/wenzhang.py", line 4, in
b()
NameError: name 'b' is not defined
でもまた使います.どうしますか.このとき,関数aにb関数の関数名を返すだけで,b関数を用いることができる.
def a():#
def b():#
print(' B')
return(b)
s=a()# a , a s, b
s()
結果:
B
>>>
同じ関数内の複数の関数を呼び出す必要がある場合:ここではまずグローバル変数Position_を設定します.numberは、その後、a()でこのグローバル変数を説明し、グローバル変数の変更によってa()の異なる関数を呼び出す.
Position_number=0
def a():#
global Position_number
def b():#
print(' B')
def c():
print(' C')
def d():
print(' D')
if(Position_number==0):
return(b)
if(Position_number==1):
return(c)
if(Position_number==2):
return(d)
s=a() # a , a s, b
s() # b
Position_number=1 # Position_number, a() c
s=a() # c s
s() # c
Position_number=2 # Position_number, a() c
s=a() # d s
s() # d
結果:
B
C
D
>>>