Python查漏----ThreeDay

一、全局变量与局部变量

       1.全局变量特点:没有任何缩进,顶头写的变量;

                                     在以后任何位置都能调用

        2.局部变量特点:在子程序中创建的变量,只能在该函数里使用

        3.在函数中创建全局变量:在变量名前加global

        4.若有一个全局变量名和一函数中的局部变量名相同,调用函数时显示的为局部变量的值

          注:若变量名前有nonlocal则该变量指的是上一级变量

二、递归

       1.嵌套函数的运行

         2.递归定义:在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。

         3.递归必须设置一个出口

三、匿名函数

      1.匿名函数:不再使用 def 语句这样标准的形式定义一个函数。

      2.匿名函数的创建:python 使用 lambda 来创建匿名函数

#!/usr/bin/python3
 
# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2
 
# 调用sum函数
print ("相加后的值为 : ", sum( 10, 20 ))

         ”lambda“与” :“之间为参数,“:”之后为函数体

           "sum = "用来将匿名函数保存下来

四、内置的高阶函数

        map();reduce();filter;sorted()      

五、文件的读取与存储

         IO编程

六、迭代器与生成器

         可以对listtuplestr等类型的数据使for...in...的循环语法从依次拿到数据进⾏使,我们把这样的过程称为遍历,也叫迭代

          可以使⽤    isinstance()    判断⼀个对象是否是    Iterable   对象(可迭代 对象)

          1.迭代器的两个基本的方法:iter() 和 next()

          2.迭代器协议:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退)

          3.

使用对象内置的__iter__()方法生成迭代器
>>>L1 = [1,2,3,4,5,6]
>>>I1 = L1.__iter__()
>>>print I1
<listiterator object at 0x7fe4fd0ef550>
>>> I1.next()
1
>>> I1.next()
2
>>> I1.next()
3
使用内置工厂函数生成迭代器
>>> L1 = [1,2,3,4,5,6]
>>> I2 = iter(L1)
>>> print I2
<listiterator object at 0x7fe4fd0ef610>
>>> I2.next()
1
>>> I2.next()
2
>>> I2.next()
3

       4.生成器:在Python中,在循环的过程中不断推算出后续的元素,这样就不必创建完整的list,从而节省大量的空间,这种一边循环一边计算的机制,称为生成器:generator。

                          可以理解为一种数据类型,这种数据类型自动实现了迭代器协议,即其是可迭代对象

        5.生成器两种表现:①以函数的形式表现:每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行。

                                        ②三目运算表达式

               

                                     

猜你喜欢

转载自blog.csdn.net/qq_21467113/article/details/86505519