第五章のpython学習機能変数のスコープ

関数の
  機能は、良好な組み合わせで再利用、または単一の機能に関連するコード・セグメントを実装するために使用することができる
効果を
  向上させることができ、アプリケーションのコード・モジュールの再利用
の機能を作成する
  最初の機能のルール
  1.機能ブロックAを「)(」関数識別子名と括弧が続くキーワードはdefの始まり
  2.すべての受信パラメータと引数は括弧で囲む必要があり、あなたは括弧内にパラメータを定義することができます
  最初の文3.機能を関数の説明に使用される、ドキュメント文字列を選択的に使用することができる
  なしリターンに発現等価なし4.return [式]関数の終わり、呼び出し元に選択戻り、リターン

  構文
    DEF関数名(パラメータリスト)
    機能本体
  関数を呼び出す

  関数のパラメータは
  位置パラメータ、シーケンスパラメータ、キーワードのパラメータ、デフォルトパラメータ、キーワード引数辞書、統合された質量の参加:カテゴリーパラメータ
  パラメータ:(仮パラメータ)
    DEF定義関数では、変数の後ろに括弧内の関数名です。パラメータの形式に
  引数:
    変数と呼ばれる実際のパラメータを提供する場合や、関数呼び出し
1。設定された送信パラメータを
  定義:
    パラメータ(パラメータ)の形態との対応関係の実際のパラメータ(引数)に対応する関係が位置に対応する基づいている
  例:
    DEF学生(名前、年齢、性別):
      プリント(「名前」、名)
      プリント(「熟成」、年齢)
      プリント(「性別」、性別)
    学生(「ボブ」、15、「M」)
  説明:
    シーケンスパラメータ通過と位置パラメータの対応関係を解体のシーケンス
    配列の位置それぞれの位置に対応するパラメータ情報
  2.シーケンスパラメータ通過
    シーケンスパラメータ通過サイクルは、位置分解することにより、送信方法の後に配列を渡すパラメータ*と、関数呼び出しを指す
  渡さ3デフォルトのパラメータ
    関数を呼び出すときに渡されない場合に、パラメータは、デフォルトパラメータを使用する
    デフォルト値に機能、パラメータを定義する際にデフォルトパラメータを使用して、つまり、呼び出し元の関数呼び出しへのパラメータの割り当て機能は、このデフォルトのデフォルト値を使用しません場合
    :注
      デフォルトパラメータを我々はの値の実装渡す際に伝統的な価値観は、関数が呼び出されたときに
      デフォルトのパラメータをデフォルト以外のパラメータの後ろに配置する必要があります
  。4.キーワードパラメータ
    の例を:
      DEF学生(名前、年齢、性別):
        印刷(「名前」、名前を)
        を印刷(「歳」、年齢)
        を印刷(「結果」、スコア)
      学生(「ボブ」、年齢= 15、= 20得点)である
  5.キーワード辞書を渡すパラメータ
    の定義を:
      引数は、辞書を参照し、送信パラメータの方法の後にキーワードパラメータ渡しを解体「**」と辞書
    説明:
      キーの辞書とパラメータ名が同じでなければなりません
      辞書は、文字列キーの名前(識別子)でなければなりません
      キーの辞書内のパラメータに存在することにする
    例:
    DEF学生(名前、年齢、性別):
      印刷(「名前」、名前)
      を印刷(「年齢」、年齢)
      を印刷(「成果」、スコア)
    #学生( 'ボブ'= 15、スコア= 20年齢)は
    、{名前20 ':'ボブ''年齢':15、'スコア」} D ='
    Stuident(** D)
  6関数通過統合パラメータ
    :定義
      関数を伝送パラメータは、パラメータが一意に任意の組み合わせで対応する引数に適合させることができるようにして決定することができることができる
    説明:
      キーワード(キーワード辞書パラメータパッシング)の左側を通るパラメータに(SEQパラメータを渡す)通過位置パラメータである
    DEF Myfun1 (A、B、C)
      プリント(A、B、C)
    Myfun1(100 * [200,300])
    Myfun1(*(100,200)、300)
    Myfun1(100、C = 300、B = 200です)
    Myfun1(100、**(「C 」300、 『B』:200))
  機能を
    1ない基準関数と関数パラメータはありません
      例:
      要約:パラメータの関数の変数内容は不変できず、コンテンツを置き換えることができあるいはパラメータ
    2.関数は、関数の値を返し、戻り値がない
  運動:
    機能MINMAXを書き込む(A、B、C)は、3つのパラメータがあり、これら三つのパラメータの最小値と最大値を返す
    タプルを形成し、要件を最大後前面の、最小値、

1  DEF MINMAX(A、B、C):
 2      X = 分(A、B、C)
 3      、Y = MAX(A、B、C)
 4      戻りX、Y
 5 DL = MINMAX(50,20,15 6  印刷(DL)

  1.アスタリスクタプル形式
    構文:
      defは関数名(*タプルパラメータ名)
        文ブロック
      または
      defの関数名(* argsを、名前のキーワードパラメータ)
      の役割:
        全てのパラメータを強制する必要があります
  。2.名前のキー形状参照
    構文:
      (keyパラメータの名前*)DEF関数名、
    ステートメントのブロック
      はdef関数名(* argsを、名前のキーワードパラメータ):
      役割:
    全てのパラメータは、キーワードまたはキーワード辞書で引数を渡す必要があります強制渡すパラメータ
  3.ダブルアスタリスク辞書形成
    :構文
      デフ関数名(パラメータ名辞書**)
        ステートメントブロック
    効果:
      冗長キーワード伝送パラメータの収集
    説明:
      辞書パラメータ名は通常「kwargsから」という名前
  のパラメータ説明の機能
    指の位置をパラメータ、デフォルトパラメータ、アスタリスクパラメータタプル、ダブルアスタリスク辞書パラメータを混合することができ、関数のパラメータの順序左から右へ、次のとおりです。
      位置パラメータ
      アスタリスクタプルパラメータ
      名のキーワードパラメータ
      ダブルアスタリスク形状辞書人参

    可変長パラメータ機能:
      アスタリスクタプルパラメータ、ダブルアスタリスク辞書パラメータの
      説明:
        任意の位置の質量参加とキーワード質量参加受け入れることができ

    、運動を:
      組み込み関数の最大値と同様の機能を書くにはmymax
      :参照してください
        >>>ヘルプ(最大)
        偽mymax最大関数を書き、関数が最大と同一であります

1  DEF mymax(* 引数):
 2      であれば lenを(引数)== 0:  实参个数等于1 
3          zhemax = [0]
 4          のために X 5              であれば、X> :zhemax
 6                  zhemax = X
 7          戻りzhemax
 8      9          zhemax = 10  X における引数:
 11 であれば、X> zhemax:
 12                  zhemax = X
 13 リターン                               zhemax
 14  プリント(mymax([6,8,35,5 ]))
 15  プリント(mymax(100,200))

    変数のスコープ
      範囲:名前空間の変数
      2つの変数の最も基本的な範囲:ローカルおよびグローバル変数
    、ローカル変数1
      に定義:
        1.定義は(ローカルパラメータは変数の関数内のローカル変数の関数であると呼ばれています変数)
        2.ローカル変数は関数内でのみ使用することができます
        関数が呼び出されたときに、3ローカル変数は、関数呼び出しが自動的に破棄された後、作成することができます
    。2.グローバル変数
      に定義:
        外部の定義を、内部の機能ブロック変数はグローバル変数と呼ばれています
        グローバル変数のすべての機能に直接アクセスすることができる(単一の関数を割り当てることができない)
    3.グローバル()/地元()関数の
      グローバル変数は、()
      の現在の辞書グローバルスコープ変数返す
      (地元の)
      辞書が現在のローカルスコープ変数を返します
    4.機能の変数
      関数名は変数であり、それはデフ機能ステートメントをバインドする機能は、作成
      機能は、別の関数の引数として渡すことができる
      機能もさらにとして使用することができます 数の値を返します
    。5. Pythonのスコープの
      スコープ、また知られている名前空間、変数は範囲のスペースを見つけるための変数名でアクセスを
      LEGB
      Lローカルスコープ(関数)
      Eの範囲外のネストされた関数
      Gの関数定義のすべてのモジュール(トップレベル)
      内蔵モジュールのPythonのBスコープ
    6グローバルステートメント
      1.global文
      アクション
        1、文は、インタープリタアクチュエータgloba1に指示します声明以上の変数は、これらの変数のスコープモジュールレベルのスコープに対して、また、グローバル変数と呼ばれます。
        ファイルスコープで動作するモジュール内の変数の代入文をマップする2、グローバル宣言(globa1)
      文法
        グローバル変数1、変数2、... ...
        説明
        あなたが関数内でグローバル変数を割り当てることがしたい場合は1を、あなた必要がありますグローバル宣言(それ以外の場合は、ローカル変数を作成するために考慮される)の後に
        関数内の宣言せず2.グローバル変数に直接アクセスすることができる(変数がすでに存在し、ターゲットに関連付けられている)
        3.ローカル変数を宣言することができない場合、グローバル変数は、グローバルとして宣言これは、の規定と一致していない
        異常動作でこのスコープのパラメータリストには表示されませんすることができます。4. globa1変数リストの変数名
      異常動作
        1.エラーの定義との特性
          の論理や文法リード以来、間違った手段など:何が間違っています問題のプログラムが通常の実行できない
          誤差特性を:いくつかのエラーを予測することはできません
        。2.例外定義を
          例外は、プログラムエラー状態が表現されている
          例外が発生したときに、プログラムがダウンして実行して、エラーを保留場所でこの関数を呼び出すと、通常の状態に戻って電源を入れることはできません

      ステートメント
        1.try:
          1.try-execptステートメント
            試みは:
              で例外を引き起こす可能性
            [変数1 AS] execptエラータイプ1
              1例外処理文
            :[変数2 AS]を除いて、エラータイプ2
              2例外処理文
            を除いて(エラータイプ3 、エラータイプ4、...)[変数3のよう]
              3例外処理文
            を除く:
              他の例外処理文()
            他:
              異常文を発生せず
            、最終的に:
              最終的なステートメント
          の効果
            異常取得しようと、プログラムの異常状態をそして、通常の正常な状態を実行
          例:
          TRY -除く文説明:
            バインドエラー句がオブジェクトであるとして変数1を省略することができ、
            except節2. 1つ以上を有することができるが、少なくとも
            3 else節は一つだけにすることができ、省略することができる
            。4. finally節は一つだけにすることができ、省略することができる
            5 try文は例外ではないとき。文のelse節が実行されます発生し
            、finally節の文がいずれの場合に実行される意志6.

おすすめ

転載: www.cnblogs.com/linxingh/p/11210765.html