python第四课

1.lambda()函数

可以直接定义一个函数,简化用def的定义。

>>> func=lambda x,y:x+y
>>> print(func(3,4))
7
>>> def func(x,y):
return(x+y)

>>> print(func(3,4))
7

2.函数作为参数传递

>>> def test(f,a,b):
print("test")
print(f(a,b))

>>> test(func,3,5)
test
8
>>> test((lambda x,y:x**2+y),6,9)
test
45

3.map()函数

函数的第一个参数为函数,将第二个或者第三个参数代入到第一个函数,返回值为循环对象,用list()可现实出来。

>>> re=map((lambda x:x+3),[1,3,5,6])
>>> print(re)
<map object at 0x02DF6F70>
>>> print(list(re))
[4, 6, 8, 9]

>>> re = map((lambda x,y: x+y),[1,2,3],[6,7,9])
>>> print(list(re))
[7, 9, 12]

4.filter()函数

这个函数第一个参数也是函数,作用于后面的元素参数,起到了筛选数据的作用。返回值也为循环队形,用list()显示出来。

>>> def func(a):
if a >100:
return(True)
else:
return(False)

>>> print(filter(func,[10,56,101,500]))
<filter object at 0x02DF6DD0>
>>> re=filter(func,[10,56,101,500])
>>> print(re)
<filter object at 0x02DF6F70>
>>> print(list(re))
[101, 500]

5.reduce()函数

第一个参数也是函数,但是要求能够接受另个参数,计算出来的结果最为洗一次循环的第一个参数,与后面元素作为第二个参数继续进行循环,有累计的意思在里面。reduce函数不能在3.0版本以后的python中直接使用,需要先引用

>>> import functools
>>> re=functools.reduce((lambda x,y:x+y),[1,2,5,7,9])
>>> print(re)
24

6.异常处理

try:
...
except exception1:
...
except exception2:
...
except:
...
else:
...
finally:
...raise StopIteration()


7.动态类型
动态类型是python的核心。不需要申明变量类型,python自动处理自动把不用的变量销毁,在python中处处是对象,在c语言中的变量也在python中是对象。列表和词典可以改变自身, 其他都都不可以改变自身。引用和对象的分离是动态类型的核心。所有程序操作层面的都是引用,对象是存储在内存实体中的,不会改变。但有两个特殊的对象例外,列表和词典,因为他们是有很多引用构成的,其中一个引用的改变
不会影响整个列表或者词典引用的改变。
上一篇:SQL SERVER中关于OR会导致索引扫描或全表扫描的浅析


下一篇:js控制手机号码中间用星号代替