欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python第四课

程序员文章站 2022-12-22 13:52:25
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 ......

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中是对象。列表和词典可以改变自身,

其他都都不可以改变自身。引用和对象的分离是动态类型的核心。所有程序操作层面的都是引用,对象是存储在内存实体中的,不会改变。但有两个特殊的对象例外,列表和词典,因为他们是有很多引用构成的,其中一个引用的改变
不会影响整个列表或者词典引用的改变。