関数は、関数名がパラメータとして渡された値を指摘することができ、ファーストクラスのオブジェクトです。
1);関数名を渡すことができる変数代入として、変数名に値を割り当て、そして次に別の変数名と変数名を渡します。
名前この時、X = NAME = 'niuer' はX、X 'niuer' と同じであり、また、メモリアドレス 'niuer' 名前を指し
関数は(括弧なし)機能本体コード印刷機能名を実行した後に呼び出された後に、関数本体のコードのメモリアドレスを返します。図に示すように。
2)、関数名は、他の関数へのパラメータとして渡すことができます
図我々は直接インデックス関数にパラメータとして渡された関数func()関数名、内部印刷のFUNC()関数本体指数を導く、すなわち、メモリアドレスに対応するFUNC機能体であり、次いで、(引数を実行します)、つまり、実行FUNC()関数は、コードを実行FUNC()関数を入力し、印刷「たfromIndex」後。
3. 関数名は、関数の戻り値として使用することができます
まず、関数本体FUNCの実行()であり、リターンインデックスを戻し、指数関数呼び出しに対応する、共にブラケットと、RESにパラメータを渡します
図4は、コンテナ型の要素として使用することができます
DEF FUNC(): プリント(' FUNCから' ) func_list = [FUNC] func_list [0]() #FUNCから
第二に、名前空間
名前空間とは何ですか?
ローカル名前空間は、メモリアドレスバインディング関係(メモリ)の名前と値を格納するために使用され、我々は名前で値を見つけなければならない時はいつでも、名前が名前空間をルックアップするためにアクセスする必要があります。
カテゴリーの名前空間
ビルトイン名前空間:ストレージがあるのPythonインタプリタ自身の名前
#print (のみ)#print(最大)
グローバル・ネームスペース:ストレージは、ファイルレベルの名前です。
X = 1 つつ真デフのfoo():
Y = 2 、B = 4 、M = 3
場合のx == 4:休憩
Z = 3
ローカル名前空間:関数名での定義
ライフサイクル:
ビルトイン名前空間:インタプリタを有効にするために始めたとき、インタプリタが失敗したシャットダウン
グローバル・ネームスペース:Pythonインタプリタ内のファイルを実行するためのファイルの失敗が終了した後に有効になります。
ローカル名前空間:呼び出し元の関数にのみ一時的にペンを押した後、関数呼び出しのボリュームが無効である、関数のローカル名前空間を生成しています。
ロード順:内蔵の「グローバル」ローカル
シーケンスの名前を検索:
、現在の場所を調べるローカルからグローバルへの現在のローカルな地位は、上に構築見つけることと仮定し、グローバルな順序からビルトインへの全体的な外観からの電流が想定。
関数定義フェーズの名前を見つけるためにかかわらず、関数呼び出しの場所の、死んで修正されました。呼び出された関数は、検索順序の名前を決定するために元の位置定義された関数に返却しなければならないどんなにそれ。
第三に、ネストされた関数
定義:内部関数定義された関数は、関数が内部定義された関数の外部で使用することができません。
デフF1(): DEF F2(): プリント(' F2から' ) 、F2() F2() #のNameError:名'F2'が定義されていません
デフF1(): DEF F2(): プリント(' F2から' ) )、F2( F1() ' '' F2から '''
#入れ子関数アプリケーション・インスタンス 「『』 円の円または円周の決定された領域の関数にパラメータを渡す 『』」 から数学インポートPI DEF サークル(RADIUS、NUMS): ' 『』 エリア:円形領域 境界:円の円周 :PARAM半径:円の半径 :PARAMのNUMS:円形領域の1を選択し、円形の周囲の入力2; :リターン: 「」 ' DEFの領域(): 戻り半径** 2 * PI DEF 境界(): リターン 2 * PI * RADIUS IF NUMS 1 ==。 : 返すエリア() ELIF NUMS == 2 : リターンを境界() 他: リターン F " の入力が正しくない{} NUMSです!計算することはできません!「 印刷(サークル(10,1 )) を印刷(サークル(10,2 )) を印刷(サークル(10,3))
第四に、スコープ:
フィールドの範囲を指し、作用の範囲は2つに分かれ範囲を指します。
グローバルスコープ:組み込みの名前空間、およびグローバル名前空間の名前が含まれています。特長:グローバル・効果的な、世界的な生存。
ローカルスコープは:ローカル名前空間名が含まれています。特長:部分的に有効な、一時的な生存。
非ローカル、グローバル
グローバル:ローカル名がグローバルスコープに由来する宣言、それは関係なく、セット外の機能は、最も外側のスコープを修飾する方法の多くの層の、グローバル不変の種類を変更する局所的に使用することができます。
非ローカル:現在のスコープの外側の層に由来する名前を宣言し、外層は不変ローカル関数を修正するために使用されてもよいです。
関数は、関数名がパラメータとして渡された値を指摘することができ、ファーストクラスのオブジェクトです。
1);関数名を渡すことができる変数代入として、変数名に値を割り当て、そして次に別の変数名と変数名を渡します。
名前この時、X = NAME = 'niuer' はX、X 'niuer' と同じであり、また、メモリアドレス 'niuer' 名前を指し
関数は(括弧なし)機能本体コード印刷機能名を実行した後に呼び出された後に、関数本体のコードのメモリアドレスを返します。図に示すように。
2)、関数名は、他の関数へのパラメータとして渡すことができます
図我々は直接インデックス関数にパラメータとして渡された関数func()関数名、内部印刷のFUNC()関数本体指数を導く、すなわち、メモリアドレスに対応するFUNC機能体であり、次いで、(引数を実行します)、つまり、実行FUNC()関数は、コードを実行FUNC()関数を入力し、印刷「たfromIndex」後。
3. 関数名は、関数の戻り値として使用することができます
まず、関数本体FUNCの実行()であり、リターンインデックスを戻し、指数関数呼び出しに対応する、共にブラケットと、RESにパラメータを渡します
図4は、コンテナ型の要素として使用することができます
DEF FUNC(): プリント(' FUNCから' ) func_list = [FUNC] func_list [0]() #FUNCから