一、列表生成式:
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
(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可省略,也支援負數按倒數的順序取值,什麼都不...