1.? 函數(shù)中的局部變量和全局變量
>>> count = 3
>>> def MyFun():
global count
count = 10
print(count)
>>> MyFun()
10
>>> print(count)
10
2.? 內(nèi)嵌函數(shù)
>>> def fun1():
print('fun1()正在被調(diào)用...')
def fun2():
print('fun2()正在被調(diào)用...')
fun2()
>>> fun1()
fun1()正在被調(diào)用...
fun2()正在被調(diào)用...
3.?>>> def Fun1(x):
def Fun2(y):
return x*y
return Fun2
>>>
>>> i = Fun(8)
>>> i(5)
40
>>> Fun1(5)(8)
40
4.? 函數(shù)中的局部變量和全局變量
例1:? 列表在函數(shù)中局部和全局變量的應(yīng)用
>>> def Fun1():
? ? ? ? ? ? ? ? ? ? ? x = 5
? ? ? ? ? ? ? ? ? ? ? def Fun2():
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? x *= x
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? return x
? ? ? ? ? ? ?? return Fun2()
>>> Fun1()
Traceback (most recent call last):
? File "<pyshell#47>", line 1, in <module>
? ? Fun1()
? File "<pyshell#46>", line 6, in Fun1
? ? return Fun2()
? File "<pyshell#46>", line 4, in Fun2
? ? x *= x
UnboundLocalError: local variable 'x' referenced before assignment
>>> def Fun1():
? ? ? ? ? ? ? ? ?? x = [5]
? ? ? ? ? ? ? ? ?? def Fun2():
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? x[0] *= x[0]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? return x[0]
? ? ? ? ? ? ? ? ? ? return Fun2()
>>> Fun1()
25
例2: " nonlocal " 關(guān)鍵字的應(yīng)用?
>>> def Fun1():
? ? ? ? ? ? ? ? ? ?? x = 5
? ? ? ? ? ? ? ? ? ?? def Fun2():
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? nonlocal x
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? x *= x
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? return x
? ? ? ? ? ? ? ? return Fun2()
>>> Fun1()
25
5. lambda函數(shù)的應(yīng)用
例1:
>>> def ds(x):
return 2 * x + 2
>>> ds(2)
6
>>> lambda x : 2 * x + 2
<function <lambda> at 0x0000023767B8D048>
>>> g = lambda x : 2 * x + 2
>>> g(5)
12
6.? filter(function or None, iterable) ?? 第二個(gè)參數(shù)迭代器在第一個(gè)參數(shù)中運(yùn)算,返回結(jié)果為真的可迭代對(duì)象
>>> def odd(x):
return x % 2
>>> temp = range(10)
>>> show = filter(odd, temp)
>>> list(show)
[1, 3, 5, 7, 9]
或者
list(filter(lambda x : x % 2, range(10)))
[1, 3, 5, 7, 9]
7.? 映射函數(shù) map() ? 表示將第二個(gè)可迭代對(duì)象的每一個(gè)參數(shù)帶到第一個(gè)函數(shù)中計(jì)算,結(jié)果返回每個(gè)計(jì)算后的可迭代對(duì)象
>>> list(map(lambda x : x * 2, range(10)))
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]