再帰関数と高階関数

再帰関数と高階関数

#_author:管理者
#date:2019年11月1日
#1。

DEFファン(*引数):
プリント(引数)
A = [1,2,3]
ファン(*)#(。1、2、。3)
印刷( ' -------------- ')
DEFのFUN1(** kwargsから):
プリント(kwargsから)
FUN1(** {'名前':'スター'}){#'名称':'スター「}直接辞書通過
#2高次関数
(1)関数名は変数である#を割り当てることができる
。#(2)関数の関数名をパラメータとして使用することができ、また、戻り値として機能することができる
(n)はデフF :
リターン* N-N-
DEFのfun2(A、B、FUNC):
戻りFUNC(A)+ FUNC(B)
を印刷(fun2(2,3、F))#13は、
プリント(「--------- -----------------------「)
DEF FU():
DEF F():
リターン5
リターンFの
M = FU()
<。地元の人々についての機能FU <> 0x03719738 AT .F>印刷(M)#関数オブジェクトのアドレスである
プリント(メートル())#5
印刷( '---------------------')
。#再帰関数3
DEF傑(N-):
nはIF - == 1:
リターン1つの。
リターンのn-傑*(N- -1)
プリント(潔(5))#120
プリント( '---------------------')
再帰に対する#特性:
#1内部コール自体機能
#2が終了条件の有する
問題点を解決することができる。#再帰ループを用いて解くことができる
多くの場合#再帰非効率
#フィボナッチ列
DEFのFIBO(N):
NはIF - <= 2:
N-戻す
リターンFIBOを(1-N-)FIBO +(2-N-)
プリント(FIBO(8))が第34位である
#2. 3. 1. 5 1 0 8 13 21 55 34であるである
--------------プリント(」 -------「)

DEF fibo1(N-):
IFまたはN-N - 1 0 == ==:
リターンは、N-
(fibo1を返す1-N-)fibo1 +(2-N-)
プリント(fibo1(8))# 21
#4.組み込み関数の
印刷( '---------------------')
プリント(すべて([1,2,3「 ASD」]))#真全て() 関数は、所与の決定のすべての要素のために使用される反復パラメータは反復可能で、trueを返すTRUEであるかどうかであってもよく、そうでない場合はFalseを返します。
プリント(すべて([1,2,3 'ASD'、 '']))#偽
プリント(divmod(8,3))#剰余数とダイ(2,2)
プリント(エバール(「+。4. 3 * 6「))#27のevalは( ) 算術演算を行うために私たちを助けることができるだけでなく、文字列の辞書に変換できる
組み込み関数の重要な#(1)フィルタ機能は、ときのシーケンスシーケンスの機能要素は、フィルタリングするための基準を満たしていないですあなたが説明として機能することができる要素の一部をカットしたい場合には、フィルタ機能を忘れてはなりません。
STR = [ 'A'、 'S'、 'D'、 'F']
DEF FUNC(S):
S = 'D'が:! IF
S返す
RET =フィルタ(FUNC、STR)
プリント(RET)#<フィルタオブジェクト0x007809F0で> RETフィルタオブジェクトであり、オブジェクトがイテレータである
プリント(リスト(RET))#[ 'A'、 'S'、 'F']
プリント(「---------- -------------- "
) #(2)地図()は、新しいリストとリターンを得るために、リストの各要素に作用することにより、リストと関数f、関数fとを順次受信し、Pythonの組み込み高次の関数です。
=リスト[ 'A'、 'S'、 'D'、 'F']
DEF FUNC(S):

S + 'スター'を返し
RET2 =地図(FUNC、一覧)
を印刷(RET2)#<0x03910B10 ATマップオブジェクト>
印刷(一覧(RET2))#[ 'ASTAR'、 'SStar'、 'DSTAR'、 'fstar']のをストリングプロセス
#(3)〜(減らす)、このメソッドを呼び出すために、より先行インポートfunctools低減
値を得るために、圧縮アルゴリズムに#シーケンス。しかし、使用する前に減らすインポートpython2が内蔵されている機能を、移動functoolsモジュールをのpython3し、それがfunctoolsから必要であるので、時間を短縮
#呼び出しを2つの引数で機能しなければならない、(反復可能な機能を、)削減、反復可能なリストや元かもしれグループ

減らすfunctoolsからインポート
:DEF L(X、Y)を追加
リターンX + Yの
うち)(削減印刷(ADD(減らすL [1,2,3,4,5,6,7,8,9]))#45結果は値である
印刷(ADD(減らすL、レンジ(1101)))#5050
>匿名関数- #(4)ラムダ
:DEFのadd_2(B)
+ Bを返す

X + Yの:ラムダXを、Y
により#機能に加えてラムダ式(匿名関数)階乗を減らします
低減functoolsインポート
#24:印刷(* b)は、範囲(1,5))を低減((ラムダA、B)
のマップ関数(匿名関数)によって追加された#ラムダ式
二乗=マップ(ラムダX:X *をX、レンジ(9))
プリント(四角)#<地図オブジェクト0x01250D90 AT>
印刷(リスト(四角))#[0 ,. 1 ,. 4 ,. 9、16、25、36、49、64]



おすすめ

転載: www.cnblogs.com/startl/p/11781274.html