10日目の関数パラメーターとスコープ、名前空間

10日目

  1. パラメータ角度

    • ユニバーサルパラメータ

      argsはすべての定位置パラメーターを受け入れ、関数定義は次のとおりです。*はフィットを表し、すべての定位置パラメーターをタプルに集約し、それをargsに割り当てます。

      def func(*args):
      	count = 0
          for i in args:
              count += i
           return count
      func(1,2,3,4,5)   
      

      「」

    • *魔法の使い方

      ** kwargs:**辞書内のすべてのキーワードパラメータを集約し、この辞書をkwargsに割り当てます

    • キーワードパラメータのみ

    • パラメータ角度のパラメータの順序

      def func(位置参数,*args,关键字参数,**kwargs):
      
    • パラメータ角度の最終的な順序:位置関数、* args、デフォルトパラメータ、キーワードパラメータのみ、** kwargs

    • 、**、関数が呼び出されると、分割することを意味します

      def func(*args)
      	print(args)
      func(*[1,2,3],*[22,33,44])#func(1,2,3,22,33,44)
      
      def func(**kwargs)
      	print(kwargs)
      func(**{'name':'taibai'},**{'age':18})#func(name='taibai',age=18)
      
  2. 関数名

    • 名前空間

      グローバル名前空間、pyファイル全体の変数、関数間の対応関係を記録

      関数の実行時にのみ開かれる関数本体の変数と値の間の対応を記録するローカル名前空間(一時的な名前空間)

      組み込み名前空間、Pythonソースコードによって提供されるいくつかの組み込み関数

      読み込み順序:組み込み名前空間>グローバル名前空間>ローカル名前空間(関数が実行されたとき)

      値のシーケンス:近接性の原則、一方向不可逆、(ローカルから検索)ローカル名前空間--->グローバル名前空間---->組み込み名前空間

    • 範囲

      2つのスコープ:グローバルスコープ、ローカルスコープ

      • グローバルスコープ:組み込み名前空間、グローバル名前空間
      • ローカルスコープ:ローカル名前空間
      • ローカルスコープはグローバルを変更できません。親のみを使用でき、変更できません
  3. 高次関数、実行順序をマスターします。

  4. グローバル()、ローカル()

    グローバルによって返されるディクショナリ、ディクショナリ内のキーと値のペア:グローバルスコープ内のすべてのメモリ

    ローカルによって返されるディクショナリ、ディクショナリ内のキーと値のペア:現在のスコープのすべてのコンテンツ

おすすめ

転載: www.cnblogs.com/printpy-1/p/12717095.html