まず、高階関数
1.定義:使用するパラメータの関数としての機能が呼び出された高階関数
(1)変数を設定することができる割り当て
= 100 、B = A
(2)関数は、変数の名前であります
DEF フナ(): 印刷(" フナ()" ) フナ() FunB = フナ FunB()
注意:.私は名前が可変で機能します。ii.FunAとFunBが、だけではない、同じ名前
関数名が可変であるので、III。、それは別の関数にパラメータとして渡されるべきです。
2.高次機能、例えば
#フナは、デジタル100倍デジタル通過返す共通機能である DEF フナ(N)を: 返す N- * 100 #は、機能、300倍を乗じ渡されるパラメータ、高次機能の使用を書き込むためDEF funB(N-) :返す。フナ(N-)3 * 印刷(。funB(9 ))
私たちは、より良い通話誰比較する関数を書きます
DEF フナ(N): リターン N * 100 DEF FUNC(N、F): #は関数を3倍に拡大されているとN 00 Retrun F(N) * 3。プリント(FUNC(9、フナ))。
次の呼び出しが優れていることは明らかです。
(1)我々はの目的を達成するために通過する可変パラメータを使用し、機能間の結合を減少させます
(2)次の関数スケーラビリティ、例えば:私はあなたが、元の機能領域を変更せずに、関数を作成することができ、それを500倍に拡大します。
高次機能の3システム
(1)意図がマッピングされ、すなわち、セットまたは要素のリスト、各要素は、特定の規則に従って動作を実行するために、新しいリストまたはコレクションを生成します。
(2)マップ機能は、システムによって提供されるマッピング関数を有する関数であり、戻り値は、イテレータオブジェクトであります
L1 = [I 用 I における範囲(10 )] プリント(L1) L2 = [] のために私にL1: l2.append(I * 10 ) 、印刷(L2) #の利用マップ来の实现 DEF mulTen(N): 戻り Nを* 10 、L3 = マップ(mulTen、L1) プリント(型(L3)) プリント(L3) プリント(リスト(L3)) L4 = [I 用 I におけるL3] プリント(L4)
python2がリストに返されたアクションリストを参照していますが、のpython3戻り値の型は、それが何を意味するのかについては、操作のリストにない、変更、およびI:最初の2行は、このマップタイプの3行目を説明していない、4行目は歴史的な理由を持っています不明瞭。我々は印刷されたリストの5行目。6行目、なぜ空のリストの遺産はありますか?
第二に、ソースコード:
d19_2_higher_order_fuction
住所:HTTPS://github.com/ruigege66/Python_learning/blob/master/d19_2_higher_order_fuction
2.CSDNます。https://blog.csdn.net/weixin_44630050(西6月6月ムードが知らない - ルイを)
3.パークブログます。https://www.cnblogs.com/ruigege0000/
4.マイクロチャネル公共数に焦点を歓迎:フーリエ変換は、ビッグデータの学習教材を取得するには、舞台裏の返信「贈り物」を変換します。