欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

對Python生成器、裝飾器、遞歸的使用詳解

系統(tǒng) 1681 0

1、Python生成器表達式

1)、Python生成器表達式

語法格式:

(expr for iter_var in iterable)

(expr for iter_var in iterable ifcond_expr)

2)、自定義生成器

函數(shù)中使用yield,會返回一個生成器對象。yieldx

生成器使用示例:

            
In [1]:list((i**2 for i in range(1,11)))

Out[1]:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

In [2]:def genNum(x):

 ...:  y = 0

 ...:  while y <= x:

 ...:    yield y

 ...:    y += 1

In [3]: g1= genNum(4)

In [4]:type(g1)

Out[4]:generator

In [5]:g1.next()

Out[5]:0

In [6]:g1.next()

Out[6]:1

In [7]:g1.next()

Out[7]:2

In [8]:g1.next()

Out[8]:3

In [9]:g1.next()

Out[9]:4

In [10]:g1.next()

--------------------------------------------------

StopIteration      Traceback (most recent call last)

in()

----> 1g1.next()

StopIteration:

In [11]:def genNum(n):

 ....:  i = 1

 ....:  while i <= n:

 ....:    yield i ** 2

 ....:    i += 1

In [12]:g1 = genNum(20)

In [13]:for i in g1:

 ....:  print i,

 ....:  

1 4 9 1625 36 49 64 81 100 121 144 169 196 225 256 289 324 361400

          

2、Python裝飾器

1)、裝飾器本身是一個函數(shù),用于裝飾其它函數(shù);

2)、功能:增強被裝飾函數(shù)的功能;

裝飾器一般接受一個函數(shù)對象作為參數(shù),以對其進行增強

例1:裝飾器使用示例

            
In [1]:def decorater(func):

 ...:  def wrapper():

 ...:    print "Just a Decorater!"

 ...:    func()

 ...:    raw_input('Please Input your name:')

 ...:  return wrapper

 ...:

In [2]:@decorater

  ...:def show():

 ...:  print "I am from China."

 ...:  

In [3]:show()

Just aDecorater!

I am fromChina.

PleaseInput your name:Fieldyang

          

例2:對能夠傳入?yún)?shù)的函數(shù)進行裝飾

            
In [1]:def decorater(func):

 ...:  def wrapper(x):

 ...:    print "Just a Decorater!"

 ...:    func(x)

 ...:    raw_input('Please Input your name:')

 ...:  return wrapper

 ...:

In [2]:@decorater

  ...:def show(x):

 ...:  print "I am from China.%s" %x

 ...:  

In [3]:show('how are you ?')

Just aDecorater!

I am fromChina.how are you ?

PleaseInput your name:Fieldyang


          

3、Python遞歸

遞歸需要邊界條件,遞歸前進段和遞歸返回段;

            
    10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 *1

    10 * (10-1)* ((10-1)-1)* ...

          

遞歸函數(shù)使用示例:

            
In [1]:def recursion(n):

 ...:  if n <= 1: return 1

 ...:  else: return n * recursion(n-1)

 ...: 

          

#遞歸函數(shù)相當于如下過程:

            
In [2]: recursion(3) = 3 * recursion(2)= 3 * 2 *recursion(1)=3*2*1

KeyboardInterrupt

In [3]:recursion(3)

Out[3]:6

In [4]:recursion(4)

Out[4]:24

In [5]:recursion(5)

Out[5]:120

In [6]:recursion(10)

Out[6]:3628800

          

以上這篇對Python生成器、裝飾器、遞歸的使用詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人1区2区 | 国产视频网| 久草免费福利资源站 | 欧美日韩精品久久久免费观看 | 草久网| 欧美黄色xxx| 亚洲色图150p| 中文字幕在线一区 | 夜夜摸天天操 | 精品久久久久久蜜臂a∨ | 天堂资源在线中文 | 亚洲成人精品在线观看 | 精品亚洲欧美高清不卡高清 | 国产精品高清在线观看 | 国产亚洲精品久久无亚洲 | 黄色av网站免费看 | 君岛美绪一区二区三区在线视频 | 久久精品二区亚洲w码 | 精品尤物 | 国产福利在线永久视频 | 亚洲精品第一国产综合高清 | 中文字幕在线观看视频一区 | 91视频在线观看免费 | 日韩女同一区二区三区 | 日韩欧美精品 | 嫩草影院免费 | 免费久久精品国产片香蕉 | 欧美日韩精品一区二区三区 | 亚久久 | 嫩草视频在线播放 | 欧美视屏一区二区 | 手机三级电影 | 偷拍自拍网址 | 欧美成人一区二区 | 亚洲孕交 | 久草在线观看福利视频 | 91亚洲免费 | 日本不卡一区二区 | 久久久久国产 | 日日爽夜夜 | 精品视频 |