博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 函数名的应用(第一类对象),闭包,迭代器
阅读量:4664 次
发布时间:2019-06-09

本文共 1000 字,大约阅读时间需要 3 分钟。

1.函数名的应用(第一类对象)

  函数名的命名规范和变量是一样的

  函数名其实就是变量名

  可以作为列表中的元素进行储存.

  

def func1():    passdef func2():    passlst = [func1,func2]for el in lst:    el()

  可以作为参数传递给函数.

  

def func():      passdef proxy(fn):      fn()proxy(func)

  可以作为函数的返回值

def func():      def inner():            pass      return innerfunc()()

2.闭包

  闭包:在内层函数中访问外层函数的局部变量

  好处:

    1.保护你的变量不受外界影响

    2.可以让变量常住内存

  写法:

    

def outer():     a = 10     def inner():           print(a)     return inner

3.迭代器

  使用dir来查看该数据包含了哪些方法

  用来遍历列表,字符串,元组...可迭代对象

  可迭代对象:Iterable,里面有__iter__()可以获取迭代器,没有__next__()

  迭代器:  Iterator,里面有__iter__()可以获取迭代器,还有__next__()

 

  迭代器特点:

      1.只能向前.

      2.惰性机制.

      3.省内存(生成器)

 

  for循环的内部机制.

      1.首先获取到迭代器.

      2.使用while循环获取数据

      3.it.__next__()来获取数据

      4.处理异常 try:xxx except StopIteration:

 

      

it = xx.__iter__()while 1 :        try:            date = it.__next__()            xxxxxx        except StopIteration:                break

 

转载于:https://www.cnblogs.com/zbw582922417/p/9455865.html

你可能感兴趣的文章
想当项目经理的要学都料匠
查看>>
Spring 3.0 Aop 入门
查看>>
Java 注解 入门
查看>>
浅谈javaScript中的继承关系<一>
查看>>
iconfont阿里字体图标的使用方法
查看>>
vscode使用Markdown文档编写
查看>>
Tomcat 服务优化
查看>>
Javascript面对对象. 第一篇
查看>>
java读写file
查看>>
Toast和Handler的间隔使用
查看>>
android彻底结束进程的两种方法
查看>>
Asp.Net异步编程-使用了异步,性能就提升了吗?
查看>>
springmvc的加载过程
查看>>
apple pay -证书操作
查看>>
easyui前台改变datagrid某单元格的值
查看>>
关于volatile变量
查看>>
bit、Byte、bps、Bps、pps、Gbps的详细说明
查看>>
Reader Sharer Monkey
查看>>
JavaWeb核心编程之(四.1)JSP
查看>>
141. Linked List Cycle
查看>>