欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 亚洲一二三区在线观看 | 国产成人精品午夜 | 日韩a无v码在线播放免费 | 香蕉成人国产精品免费看网站 | 午夜影院18| 欧洲精品在线视频 | 桃花综合 | 91高清网站 | 日韩精品久久久久 | 激情视频一区 | 国产羞羞视频免费在线观看 | 国内一级一级毛片a免费 | 久草青青在线视频 | 午夜在线观看免费视频 | 精品欧美成人高清视频在线观看 | 天天操人人爱 | 欧美一级高潮片免费的 | 婷婷在线五月 | 又大又紧又硬又湿a视频 | 久操国产视频 | 92午夜影院 | 一级毛片直接看 | 性欧美精品久久久久久久 | av资源中文在线 | 午夜影视免费片在线观看 | 狠狠草视频 | 蜜桃视频在线观看www社区 | 欧美―第一页―浮力影院 | 国产成人一区二区三区久久久 | 四虎影视最新网站在线播放 | 亚洲一区播放 | 国产精品久久久久久久久久久新郎 | 五月婷婷婷婷 | 亚洲一区二区免费看 | 成人精品一区 | 波多野结衣一区二区三区在线观看 | 亚洲欧美综合日韩字幕v在线 | 亚洲精品午夜国产va久久成人 | 日日操视频 | 精品欧美视频 | 日日夜夜精品免费视频 |