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中是对象。列表和词典可以改变自身,
其他都都不可以改变自身。引用和对象的分离是动态类型的核心。所有程序操作层面的都是引用,对象是存储在内存实体中的,不会改变。但有两个特殊的对象例外,列表和词典,因为他们是有很多引用构成的,其中一个引用的改变
不会影响整个列表或者词典引用的改变。
上一篇: Mysql—主从复制
下一篇: PyCharm如何导入python项目