函数内容及对象

1.匿名函数

匿名函数:其实就是没有名字的函数

                #   匿名函数也是必须加括号才能使用

语法格式:

                lambda  形参:返回值

                def  index(形参):

                        返回值

               例:res=lambda x:x**2

常见的内置函数:

                #  配合匿名函数一起使用的内置函数

                   1.map()

                   2.zip()

                   3.max()

                   4.min()

                   5.filter()

1. map()

   使用map函数实现将列表li中的每隔元素都进行平方

          li=[1,2,3,4,5]

      res=map(lambda x:x**2,li)

print(list(res))                #  输出劫过为[1,4,9,16,25]

2. zip拉链

   使用zip函数实现将两个列表中的相同索引的元素放到一个元组中

        lis1=[1,2,3,4,5]

        lis2=['a','b','c','d','f','g']

res=zip(lis1,lis2)

print(list(res))                #  输出结果:[(1,'a'),(2,'b'),(3,'c'),(4,'d'),(5,'f')]

3. max,min

        使用max,min函数判断字典中数据的大小

d={        'kevin':10000,

             'jack':9000,

             'mike':2000,

             'tank':12000

}

res=max(d)

res=min(d)

print(res,res1)        #  输出结果:tank                jack

res=max(d,key=lambda x:d[x])

res1=min(d.key=lambda x:d[x])

print(res,res1)        #  输出结果:tank               mike

4.filter

使用filter函数将大于30的数字去除留下大于30的数字

res=[11,22,33,44,55]

res=filter(lambda x:x>30,res)

print(list(res))        #  输出结果:[33,44,55]

2.可迭代对象

1. 迭代:更新换代,每一次的更新都是基于上一次的结果

2.可迭代对象:

                内置方法中有__iter__方法的都可以称为可迭代对象

        如何查看类型中是否有__iter__方法?

                a=1        # 定义一个整型

                例:a.__iter__()        查看整型中是否有iter函数

        ##  在八大数据类型中:

                        1.可迭代对象:str,list,dict,tuple,set

        #####    可迭代对象使用__iter__函数就变成了迭代器对象

                        __iter__开头的方法都有一个与之对应的简写:iter(方法名)

3.迭代器对象

        1.迭代器:

                内置有__iter__方法还内置有__next__方法

        2.如何转为迭代器对象:

                有可迭代对象调用__iter__()方法转为迭代器对象

4.for循环内部原理

for循环内部原理:

        1.首先把关键in后面的可迭代对象转为迭代器对象

        2.while循环取值__next__迭代取值,当next取值完毕的时候会报错

        3.当内部报错的时候,for循环进行了异常捕捉

5.异常捕捉

1. 什么是异常:

        异常就是错误发生的信号,如果不对该信号进行处理,那么异常发生之后的代码都不能正常运行

2.异常的信息:

        1.Traceback:追踪信息,异常发生的位置

              File"D:/python/day17/for循环内部原理.py",line21,in <model>

        # 错误发生信息有很多行,找到最后一行点击就可以跳到错误发生的那行代码位置

        2.异常发生的类型:

                xxxError:异常发生的类型

                        例:NameError,KeyError......

        3.错误发生的详细信息(最重要的:一般情况从这里就可以知道错误发生的原因)

3.异常的分类:

        1.语法错误

                #  是代码运行过程中一开始就不允许的,只要语法错误,代码一定不能够运行

                #  通过代码提升就知道语法错误的原因

        2.逻辑错误

                #  在编码过程中,逻辑错误是允许出现的,但是我们应避免逻辑错误出现的可能性

4.如何进行异常捕捉

语法格式:

        try:

                代码

        exception Exception as e:

                print(e)

例:

        try:

                ls=[1,2,3]

                print(ls[4])        # IndexError

        except Exception as e;

                print(e)

        else: 

                #   当被检测的代码没有异常的时候会走这个语法

                print('这是else语法')

        finally:

                #   不管被检测的代码是否有异常都会走

                print('这是finally语法')

        print(123)

'''

1.  只能当你的被监测代码可能会出现,但是,又不想让它报错,这个时候使用异常捕捉是最合适的

2.  异常捕捉的代码尽量少写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值