Python學習07 函式型別

2021-09-25 14:04:20 字數 4808 閱讀 7543

在乙個函式體內部,呼叫函式本身,被稱為遞迴函式。

def

f(n)

:if n ==1:

return

1if n ==2:

return

1else

:return f(n-1)

+ f(n-2)

print

(f(10))

55

def

func

(n):

print

(n)if

int(n/2)

==0:return n

return func(

int(n/2)

)print

(func(10)

)1052

11

格式:

lambda para1,para2,..

..,paran : expression using paras

f =

lambda x,y,z: x+y+z

print

(type

(f))

print

(f(1,2

,3))

6

高階函式:把乙個函式名,以實參的形式,傳遞給這個函式的形參,這個函式就是高階函式。

def

add(a,b,c)

:return c(a)

+ c(b)

a_value = add(-9

,1,abs

)print

(a_value)

10

def

pow(x)

:return x**

2def

add(a,b,c)

:return c(a)

+ c(b)

a_value = add(1,

2,pow)

print

(a_value)

5

li =

['zhejiang'

,'un'

,'city'

,'college'

]def

s(sr)

:return sr.startswith(

'c')

defe

(sr)

:return sr.endswith(

'ty'

)def

f(func,para)

: ret =

for i in para:

ifnot func(i)

:return ret

print

(f(s,li)

)print

(f(e,li))[

'zhejiang'

,'un'][

'zhejiang'

,'un'

,'college'

]

li =

['zhejiang'

,'un'

,'city'

,'college'

]def

f(para)

: ret =

for i in para:

ifnot i.startswith(

'c')

:return ret

print

(f(li)

)

li =

['zhejiang'

,'un'

,'city'

,'college'

]def

f(func,para)

: ret =

for i in para:

ifnot func(i)

:return ret

fl =

filter

(lambda sr:

not sr.endswith(

'ty'

),li)

print

(list

(fl)

)f2 =

filter

(lambda sr:

not sr.startswith(

'c')

,li)

print

(list

(f2)

)

功能: 功能

格式

li =[1

,2,3

,4,5

]res =

map(

lambda x:x+

1,li)

print

(list

(res)

)

x =[1

,2,3

,4,5

]y =[2

,3,4

,5,6

]res =

map(

lambda x,y:x*y+

2,x,y)

print

(list

(res))[

4,8,

14,22,

32]

格式

from functools import

reduce

y =[2,

3,4,

5,6]

z =reduce

(lambda x,y: x + y,y)

print

(z)20

from functools import

reduce

y =[2,

3,4,

5,6]

z =reduce

(lambda x,y: x + y,y,

100)

print

(z)120

from functools import

reduce

y =[2,

3,4,

5,6]

z =reduce

(lambda x,y: x*

10+ y,y)

print

(z)23456

from functools import

reduce

y =[2,

3,4,

5,6]

z =reduce

(lambda x,y: x*

10+ y,y,10)

print

(z)1023456

功能功能

注:利用 * 號操作符,與zip相反,進行解壓

格式:zip(iterable1, iterable2, …)

a =[1

,2,3

]b =[4

,5,6

]c =[4

,5,6

,7,8

]ziptest1 =

zip(a, b)

print

(list

(ziptest1))[

(1,4

),(2

,5),

(3,6

)]

a =[1

,2,3

]b =[4

,5,6

]c =[4

,5,6

,7,8

]ziptest1 =

zip(a, b)

for i in ziptest1:

print

(i,end=

" ")(1

,4)(

2,5)

(3,6

)

a =[1

,2,3

]b =[4

,5,6

]c =[4

,5,6

,7,8

]ziptest1 =

zip(b,c)

for i in ziptest1:

print

(i,end=

" ")(4

,4)(

5,5)

(6,6

)

a =[1

,2,3

]b =[4

,5,6

]c =[4

,5,6

,7,8

]ziptest1 =

zip(b,c)

# print(list(ziptest1))

star_zip =

zip(

*ziptest1)

print

(list

(star_zip))[

(4,5

,6),

(4,5

,6)]

回文數練習

def

num(x):if

str(x)

==str

(x)[::

-1]:

return x

print

(list

(filter

(num,

range(1

,1000))

))

Python基礎07 函式

函式最重要的目的是方便我們重複使用相同的一段程式。將一些操作隸屬於乙個函式,以後你想實現相同的操作的時候,只用呼叫函式名就可以,而不需要重複敲所有的語句。函式的定義 首先,我們要定義乙個函式,以說明這個函式的功能。def square sum a,b c a 2 b 2 return c 這個函式的...

Python基礎07 函式

函式最重要的目的是方便我們重複使用相同的一段程式。將一些操作隸屬於乙個函式,以後你想實現相同的操作的時候,只用呼叫函式名就可以,而不需要重複敲所有的語句。首先,我們要定義乙個函式,以說明這個函式的功能。def square sum a,b c a 2 b 2 return c 這個函式的功能是求兩個...

Python基礎07 函式

python基礎07 函式 函式最重要的目的是方便我們重複使用相同的一段程式。將一些操作隸屬於乙個函式,以後你想實現相同的操作的時候,只用呼叫函式名就可以,而不需要重複敲所有的語句。首先,我們要定義乙個函式,以說明這個函式的功能。defsquare sum a,b c a 2 b 2 return ...