python基礎教程(5)

2021-08-16 21:37:02 字數 3334 閱讀 4245

一、函式的高階特性。

1,  map()

#map

deff(x):

returnx * x;

r =

map(f, [1,

2,3])

#map()

函式接收兩個引數,乙個是函式,乙個是iterable,map將傳入的函式依次作用到序列的每個元素,並把結果作為新的iterator返回。

print

(list

(r))

r =

map(f, )

print

(list

(r))

r =

#定義了乙個set,set就是dict沒有值得實現,採用雜湊演算法儲存

print

(r)2,  reduce()

#reduce

fromfunctoolsimportreduce

#使用reduce需要匯入

deff1(x1,x2):

returnx1 * x2;

a = reduce(f1,[1,

2,3])

#這裡的函式f1必須有兩個引數

# 可以用這個表示式解釋  reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

#print

(a)

3,  filter()

# 

和map()類似,filter()也接收乙個函式和乙個序列。和map()不同的是,filter()把傳入

# 的函式依次作用於每個元素,然後根據返回值是true還是false決定保留還是丟棄該元素。

deffil(x):

ifx %

2 == 0 :

returnx

r =

filter

(fil,[1,

2,3,

8,4,

5,6])

#通過fil過濾出函式返回的值。

print

(list

(r))

4,  sorted()

#sorted

可以對list

進行排序,同時可以制定排序規則

r =

sorted([1

,8,-3

,4],key

=abs) #

這裡key

指定了abs

後就忽略正負進行乙個排序,當然可以制定其他規則例如忽略大小寫對字串排序

print

(r)以上4個函式被稱為高階函式。

二、返回函式。

高階函式除了可以接受函式作為引數外,還可以把函式作為結果值返回。

1,  返回函式。

#

返回函式

deffun(*args):

#星號是指引數可變m前面有講過

defsum():

a = 0

foriinargs :

a += ireturna

returnsum

#這裡的返回值是sum這個函式

print

(fun(1,

2,3,

4,5)())

#返回值函式再被執行被呼叫得到的結果就是求和結果

#說明兩個返回值不是同乙個函式,他們位址並不一樣,是兩個函式,互不影響

#閉包的使用,注意一點就好 : 返回閉包時牢記一點:返回函式不要引用任何迴圈變數,或者後續會發生變化的變數。

2,  匿名函式。

#

匿名函式

#乙個例子,lambda x: x * x 就是乙個匿名函式

#關鍵字lambda表示匿名函式,冒號前面的x表示函式引數。

f =lambdax: x * x

#可以這樣寫,f就可以呼叫匿名函式了。

3,  裝飾器。

#

裝飾器deffun(a):

defexc():

print

("

進入")

returna()

returnexc

@fun

defb():

print

("

本身")

b()

#@fun

這裡就執行了b = fun(b),進入fun之後返回exc,

# 當執行b的時候呼叫exc開始執行,執行完了,返回a()既是傳入的b,此時呼叫函式本身,類似動態**

deflog(text):

defdecorator(func):

def

print

('%s %s():'% (text, func.

__name__

))returnfunc(*args, **kw)

return

returndecorator

#這裡有個3個層,

@log

('text')

defa():

print

("

出現")

#這裡就是log('text')(a),,,這裡的log已經呼叫完了,不衝突。

a()

4,  偏函式

#

偏函式importfunctools

int2 = functools.partial(

int,

x ='1',

base = 2

) #使用偏函式,來固定函式的某一的引數

print

(int2())

Latex 基礎教程5

我們知道在用latex寫文件時,有時需要新增,在latex中匯入時,使用figure和graphicx上下文環境時,所有將自動匯入索引。例子如下 figure環境負責文件中的圖形的編號和定位。要引入圖形必須包含 includegraphics命令,它會在後面的括號中定義影象的寬度和路徑,這裡將放在同...

python基礎教程

乙個簡單的客戶機 import socket s socket.socket host socket.gethostname port 1234 s.bind host,port s.listen 5 while true c,addr s.accept print got connection f...

Python基礎教程

本教程不包括python的安裝,ide採用spyder pytho2.7 1.print pow 2,3 8 print 2 3 8這裡pow函式表示乘方,與 功能相同。2.abs 10 10abs函式用來求乙個數的絕對值。3.round 0.6 1.0 round 0.4 0.0round函式將浮...