関数は、ファーストクラスのオブジェクトである:点関数名、パラメータ値を渡すことができるように
Pythonでは、アドレス限り、保存されているすべての変数の値は、我々はオブジェクトを呼び出します。
- すべての変数は、それがオブジェクトである、アドレスを格納するために使用されています
- ストレージ・アドレスが関数のアドレスが関数オブジェクトで保持する整数整数オブジェクトであり、
ファイルのアドレスを格納すると、ファイルオブジェクトであります
Functionオブジェクト:変数は、関数のアドレスを保持するには、関数オブジェクトであります
DEFの FUNC(): #ここでfuncが関数オブジェクトである パス
1.関数名を転送することができます
名前= ' かま' X = 名前 を印刷(X) #かま を印刷(ID(X)) #4537026352 DEF FUNC(): 印刷(' FUNCから' ) を印刷(ID(FUNC)) #4536540696 F = FUNCの #の関数名fは、以下のFUNCと同等であり、通過することができる プリント(FUNC) #<0x10154ae18に関数func> FUNC() #FUNCとから プリント(F) #<0x10e974e18における関数FUNC>
#は、実際には、また、コードの関数本体のメモリアドレスに関数func点を指摘
F() #FUNCから
2.関数名は、他の関数にパラメータとして渡すことができます
DEF FUNC(): プリント(' FUNCから' ) DEF インデックス(引数): プリント(引数) #<関数func 0x101b80e18で> 引数() #FUNCとから プリント(' インデックスから') #指数から 指数(FUNC)
3.関数名は、関数の戻り値として使用することができます
DEF インデックス(): プリント(' インデックス' ) DEF FUNC(): プリント(' FUNC ' ) リターンインデックス のRES = FUNC() #1 FUNCの プリント(RES) #<関数インデックス0x108027e18で> RES() #の指標
4.関数名は、コンテナタイプパラメータとして使用することができます
DEF レジスタ(): ユーザ名 = INPUT() PWD = INPUT() DEFのログイン(): 印刷(' ログイン... ' ) MSG = ' '' 1.登録 2.ログインを ' '' func_dict = { ' 1。' :登録、 ' 2 ' :ログイン、 } しばらく真: 印刷(MSG) の選択 = INPUT(' 実行するために>>>を選択:').strip() #は空白に行く 場合選択肢でfunc_dict: func_dict.get(選択)() 他: 印刷(「この機能ではありません」)