デコレーター
デコレータは、本質的に他の機能を処理するために使用される関数であり、それはコードの変更を必要とせずに、他の機能を可能にする
前提の下で、追加の機能を、デコレータの戻り値は、関数オブジェクトです。それは、多くの場合、需要シナリオ、カットした使用されている
権限や他のシナリオを確認し、ログ、パフォーマンステスト、トランザクション処理、キャッシングを挿入しますように。
なぜ我々はデコレータが必要なのでしょうか?
この原理は、オブジェクト指向開発で使用されているが、閉じられた原則を開くフォローするコードを記述するだけでなく、簡単な用語で、関数型プログラミングに適用され、それが機能コードを変更することはできません実現していますが、つまり、拡張することができます提供しています。
1.ブロッキング:機能コードブロックが実装されている
拡張開発:2開口
デコレータ(デコレータ)関数を
- ログの導入
- 関数の実行時間の統計情報
- 機能の準備処理を行う前に
- 機能のクリーンアップ機能を実行した後
- チェック権限と他のシーン
- キャッシュ
一般的なデコレータ
デコレータクラスの練習:
ログデコレータの導入
複数のデコレータの装飾:ユーザは、ユーザが許可持っているかどうかを決定するためにログインしているかどうか
注:1.上記デコレータ実行前、実行2.機能後者は最初のデコレータを下回った後はデコレータの装飾
より多くのデコレータの装飾:1.ユーザログイン2.ユーザーは3.ユーザー情報システムへのアクセス権を持っているかどうかを判断するかどうかを判断します
パラメータはデコレータを渡す必要がある場合は、元の関数のネストされた外デコレータことができます
内蔵高階関数
什么是高阶函数?
把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象
的编程范式。
map函数
map() 会根据提供的函数对指定序列做映射。
第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合。
map应用案例
reduce函数
reduce() 函数会对参数序列中元素进行累积。
第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个结果。
アプリケーションが低減
減らす10階乗を使用する
フィルタ関数
フィルタを()関数は、配列をフィルタリングするために使用され、ろ過不適格な要素が修飾新しい要素のリストを返します。
最初のパラメータは配列を返し、パラメータ続く関数名が1つ以上のシーケンスを取り、反復してもよいかかります。
3または5未満とすることができる割り切れるすべての数字フィルタ機能100を取得する
すべての閏年2999 -フィルタ機能取得2000年
フィルタ機能1000年とは、内のすべての素数を取得し
、ソート/最大は、分/ビルトイン次関数
ソート()関数すべてのオブジェクトは、繰返し操作をソートすることができます。リストを再ソートする戻ります。
ソート(反復処理可能な、キー=なしには、偽=リバース)
キー:要素は主に、比較、一つのパラメータのみに使用される
照合、真の降順、昇順偽(デフォルト):リバース。
違いはどんなPythonのソート()およびソート()ですか?
- 別の種類のオブジェクト:sortメソッドがリストに適用されるが、ソートされたオブジェクトはすべての反復を操作ソートすることができます。
- 異なる戻り値:
Sortメソッドは、既存のリスト操作のリストを返すには、戻り値は、
組み込み関数ソート方法は、操作が元に基づいて行うのではなく、新しいリストを返しません。
最大値と最小機能アプリケーションの機能
先頭にソートされた全ての偶数機能を持つが、すべての奇数はバックに移動しました