python分散記録(六)callable関数パラメータ作用ドメイン再帰

2009 ワード

callable()関数:
オブジェクトが呼び出されるかどうかを確認します.呼び出し可能とはdoc stringを持つものが呼び出されることを意味します.
 
関数のパラメータの変更、可変オブジェクトと可変オブジェクト:
まず、数値文字列のメタグループは可変ではなく、置き換えるしかありません.
以前のパラメータの理解は、これらの可変オブジェクトに適用されます.すなわち,パラメトリック実パラメトリックは互いに影響を及ぼさない.
しかしlist dictのような可変オブジェクトでは、パラメータと実パラメータは互いに影響します.
元の変数に影響を与えないコピーを取得するには、リストで分割します:mylist[:]
 
収集パラメータ:
  func(a,*b):
b最初にaに与えられた残りのパラメータを受け入れ、メタグループ形式で格納する
  func(a,*b,**c):
a受付が完了し、残りはb、x=xxという形式のキーワードパラメータがあればc
 
役割ドメイン(名前空間):
  vars():
モジュール内のすべての「非表示」辞書、すなわちすべての変数と値のマッピング関係を返し、辞書形式で表示します.
classの__に似ていますdict__ クラス名._dict__
  globals():
すべてのグローバル変数を返します
  locals():
すべてのローカル変数を返します
関数でグローバル変数の使用を宣言または明示的に指定するには、次の手順に従います.
    globals x
    x = 1
 
再帰:
自己呼び出し
次の2つの条件を満たします.
  1.関数が直接値を返すと、基本的なインスタンス(最小の可能性、すなわちヘッダがあり、無限から最小に戻ることができる)があります.
  2.1つ以上の問題の最小部分を含む再帰呼び出し(再帰的条件付き)
階層の場合:
    
#    

def putong(n):

    result = n

    for i in range(1,n):

        result *= i

    return result



#    
# 1:1 1
# 2: 1 n n*n-1
def digui(n): if n == 1: return 1 else: return n * digui(n-1)