Pythonのデコレータの実装クラスJavaアノテーション

 

最近、私はリターン指定されたリストの種類と程度を指定似たシンプルなジェネレーターを書くためにはPythonを使用していました。

 

たとえば、私たちは、0〜3の整数をしたい、と私はちょうど指定する必要があります。

  最小:0、

  最大:3、

  ステップ:1

 

[0,1,2,3]リストに戻ります

 

アイデアはデコレータ内部交換メソッドのパラメータ値と呼ばれたときに渡し、デフデコレータでプレーするPythonのデコレータを使用することです

コードは以下の通りであります:

 

1つの #のコード= UTF-8 
2  
3  デフ整数(MIN = 0、最大= 100、ステップ= 1 ):
 4    DEF デコ(FUNC):
 5      DEF ラッパー(ヴァル):
 6        ヴァル= []
 7        のための I における範囲( MIN、MAX、ステップ):
 8          val.append(I)#将入参修改掉
 9        戻りFUNC(ヴァル)
 10      リターンラッパー
 11    リターンデコ
 12  
13  
14 @integer(1、40 )、
 15  デフID(ヴァル):
 16    返すのvalを
17  
18 = ID(なし)
 19  プリント(A)

 

私が欲しいもののように印刷されたリストの値:

[1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22、
23、24、25 、26、27、28、29、30、31、32、33、34、35、36、37、38、39]

Javaのアノテーションがはるかに便利書くことよりも、Pythonの大法が良いです!

おすすめ

転載: www.cnblogs.com/Joynic/p/11266553.html