python高階特性

2022-06-13 07:45:11 字數 1768 閱讀 6328

一、列表生成式:

1、[x * x for x in range(1, 11)

if x % 2 == 0

]

2、應用:

在爬蟲爬到站內**時,一般用的是站內uri,所以是無法發起請求的,一般情況下,需要加上乙個字首位址,一半可以用列表生成器來做。

3、**:

1

'''2

func:列表生成34

'''5

#首先生成uri,類似於****的格式

6 uri=['

/article/

'+str(i)+'

.html

'for i in range(1,10)]78

print

(uri)9#

一般上面的內容為爬蟲爬到的

1011

#下面是需要進行處理的內容

結果:

二、生成器:

關鍵點:是yeild關鍵字,普通函式是在流程執行完畢之後或者遇到return語句時候,才會退出執行。而生成器不同。生成器會在每次執行到yield定義的關鍵字時,會返回這個變數,然後再接著執行。其用途是在乙個需要大量計算時,不必等到每個變數都計算完畢時,才會返回,而是計算乙個返回乙個。

**演示:

1

'''2

func:generator演示

3'''45

defgetupper(a):

6for i ina:7

yield

i.upper()89

if__name__=='

__main__':

10for i in getupper([chr(i) for i in range(97,123)]):

11print(i)

三、函式式程式設計:

1、filter函式:

2、匿名函式:

lambda x:x*x

3、裝飾器:

其定義為接收乙個函式作為引數,並返回乙個函式。

(1)**執行:

1

'''2

func:裝飾器練習

3author:monty

4'''56

import functools

7import datetime89

#定義裝飾器

10def log(func):

[email protected](func)

13 print(func.__name__+"

is run:

"+datetime.datetime.now().strftime('

%y-%m-%d %h:%m:%s'))

14return func(*args,**kw)

15return

1617

@log

18def sum(a,b):

19 print(a+b)

2021

22if __name__=='

__main__':

23 sum(1,2)24

25 sum(100,200)

四、匿名函式:

語法格式:lambda x:x*x

Python高階特性

l csx sarah tracy bob jack print l 0 l 1 l 2 輸出 csx sarah tracy l 0 3 輸出 csx sarah tracy 如果第乙個索引是0,還可以省略 print l 2 輸出 bob jack print l 2 1 輸出 bob d fo...

Python高階特性

python 高階特性 from collections import iterable from collections import iterator 切片 list切片 l list range 100 print l 0 3 取前3個元素 print l 3 取前3個元素 print l 4...

Python高階特性

切片 slice 非常靈活,體現了python的簡便性 1.取乙個list和tuple的部分元素時的簡化操作 l michael sarah tracy bob jack l 0 3 michael sarah tracy 從0開始不包括3,第乙個索引是0可省略,也支援負數按倒數的順序取值,什麼都不...