函数名的使用,闭包,迭代器

day12-----函数名的应用,闭包,迭代器

1.函数名的运用:

  函数名( func() ) 是一个变量,和变量有相同点,也有不同点

    相同点: 变量的命名规则适用于函数名,同样的可以进行赋值操作

    不同点: 函数名不能进行逻辑运算.

  1> 函数名的内存地址,函数名是由内存地址的,用 print( func ) 可以查出来

    def func():

      print("爱你,我的宝宝")

    print(func)  ---------------------------------------此时打印结果是<function func at 0x00000266D9203158> 一个内存地址

    变量 : a = 10

    print( id(a) ) ------------------------------------此时打印的结果是:1954966832 也是一串数字,表示内存地址

    二者在查找内存地址的时候变量需要引入id() 内置函数,而函数在查找的时候不用.

  2> 函数名可以赋值给其他变量,可以进行赋值操作

    例如: def  func()

        print("宝宝最萌")

      a = func ----------------------------把函数名赋值给变量 a

      a() 和 func() 表示的意思一样,都是调用函数 func()

  3>函数可以当作容器类的元素,其实函数名就相当于一个句柄,它把函数里边的东西封装起来,打包放在一个地方,函数名就是一个药引子,当用的时候才会被调用 (加(), )

  def  func1():

    print("哈哈")

  def  func2():

    print("呵呵")

  def  func3():

    print("啊啊")

  def  func4()

    print("嗯嗯")

  lst = [func1,func2,func3,func4]

  for  i  in lst:

    i() --------------------------------------此时打印的是: "哈哈" "呵呵"  "啊啊"  "嗯嗯"

  4>函数名可以当作函数的参数(参数),很灵活

  例如: def  func():

      print("这里是函数1")

     def  func1(fn):  -------------------------2调用函数 func1()

       print("哈哈哈") -------------3,打印"哈哈哈"

      fn() ----------------------------4,此时的fn = func,当fn(),其实就是调用func()函数

    func1(func) -----------------------运行结果是: "呵呵呵"  "哈哈哈" "呵呵呵"  ......1先调用func1

  5>函数名可以当作函数的返回值 , return   func  

    例如:def  func_1():

        print()

 

 

 

 

 

    

 

posted @ 2018-08-21 21:56  Anna_kc  阅读(121)  评论(0编辑  收藏  举报