パラメータ→匿名関数→作成→ビルダー→装飾
関数のパラメータ
パラメータタイプ:関数のパラメータについては、def(*args、**kwargs)の表現形式がいくつかのコードでよく見られます.定義されているのは、メタグループと辞書です.
例:
関数のパラメータを簡単に定義することもできます.
Pythonにはソートsortソート関数のクラスがあります.
匿名関数
匿名関数とは、名前のない関数ですが、なぜ匿名関数が必要なのか、その役割は何ですか.lambda関数は、単行を迅速に定義する最小関数であり、関数が必要な場所で使用することができます.
Lambdaバージョン
ジェネレータとジェネレータ
リスト生成形式:
リスト生成式は、式の結果リストを直接返します.ジェネレータは、式の結果に対する計算参照を含むオブジェクトです.ジェネレータがすべてのデータを一度にリストしないことをループで直接出力できます.使用するときにリストします.これにより、メモリ使用率が低下します.
装飾器の役割
装飾器は本質的にPythonの関数であり、他の関数がコードの変動を必要とせずに追加機能を追加することができ、装飾器の戻り値も関数オブジェクトである.ログの挿入、パフォーマンステスト、トランザクション、キャッシュ、パーミッションチェックなど、必要なシーンでよく使用されます.装飾器はこのような問題を解決する絶好の設計であり、装飾器があれば、関数機能自体に関係のない同じコードを大量に抽出し、再利用を続けることができます.簡単に言えば、関数自体を変えずに、関数の前または後ろに追加の機能を追加することです.
パラメータタイプ:関数のパラメータについては、def(*args、**kwargs)の表現形式がいくつかのコードでよく見られます.定義されているのは、メタグループと辞書です.
*args —— tuple(1,)
**kwargs —— dict(“k”:“v”)
例:
fun(*args,**kwargs )
fun(1,2,3,4,5,a=10,b=40 )
関数のパラメータを簡単に定義することもできます.
def add(*args):
total = 0
for i in args:
total += i
print("total = {}".format(total))
if __name__ == '__main__':
add(1,2,3,4,5)
Pythonにはソートsortソート関数のクラスがあります.
def add(*args):
total = 0
for i in args:
total += i
print("total = {}".format(total))
def sorDictValue(dict1):
print(sorted(dict1.items(),key=lambda item:item[0],reverse=False))
'''sorted dict1 key ,
dict1.items() keys value '''
if __name__ == '__main__':
add(1,2,3,4,5)
s1 = lambda x,y:x+y
print(s1(10,20))
aaa = dict(a=100,b=10,c=50)
l = list()
sorDictValue(aaa)
匿名関数
匿名関数とは、名前のない関数ですが、なぜ匿名関数が必要なのか、その役割は何ですか.lambda関数は、単行を迅速に定義する最小関数であり、関数が必要な場所で使用することができます.
def fun(x,y):
return x*y
Lambdaバージョン
r = lambda x,y:x*y
print(r(10,20))
ジェネレータとジェネレータ
リスト生成形式:
[exp for val in collection if condition]
、例えば[x*x for x in range(10) if x*x%2==0]
ジェネレータ(generator):メソッド1;(exp for val in collection if condition)
例えば、(x*x for x in range(1,30) if x%2 ==0)
メソッド2:yieldキーワードを使用すると、yield文を含む関数がわざわざジェネレータにコンパイルされます.yieldはreturnと理解できますが、終了するのではなく、保留するだけで、リカバリ時にyieldの下から実行します.#
a = [x*x for x in range(1,30) if x%2 ==0]
print(a)
print(type(a))
#
y=list()
x=[1,2,3,4,5]
y+=x
y.append(100)
print(y)
print(x)
# generator
b = (x*x for x in range(1,30) if x%2 ==0)
print(b)
print(type(b))
#
def test(l):
for i in l:
yield i # yield return
print("i = {}".format(i))
m = test([1,2,3,4,5,6,7,8,9])
print(type(m))
#
リスト生成式は、式の結果リストを直接返します.ジェネレータは、式の結果に対する計算参照を含むオブジェクトです.ジェネレータがすべてのデータを一度にリストしないことをループで直接出力できます.使用するときにリストします.これにより、メモリ使用率が低下します.
装飾器の役割
装飾器は本質的にPythonの関数であり、他の関数がコードの変動を必要とせずに追加機能を追加することができ、装飾器の戻り値も関数オブジェクトである.ログの挿入、パフォーマンステスト、トランザクション、キャッシュ、パーミッションチェックなど、必要なシーンでよく使用されます.装飾器はこのような問題を解決する絶好の設計であり、装飾器があれば、関数機能自体に関係のない同じコードを大量に抽出し、再利用を続けることができます.簡単に言えば、関数自体を変えずに、関数の前または後ろに追加の機能を追加することです.
#
def hello():
print("hello world")
hello()
#
def hello():
print("###########start###########")
print("hello world")
print("############end############")
hello()