今日主要内容:

1 . 第一类对象 -->函数名--> 变量名

2. 闭包 -->函数的嵌套

3. 迭代器 --> 固定的思想 for 循环

第一类对象  :

函数对象介意向变量一样进行赋值

还可以作为列表的元素进行使用

还可以作为返回值返回

可以作为参数进行传参

闭包 :

内层函数对外层函数的变量的使用

闭包  的优点:

1.可以保护函数不被外界侵害

2 . 让一个变量常驻内存

如何通过函数查看一个闭包:

__closure__: 有东西就是闭包,没东西就不是闭包

迭代器 :

如果一个函数中有__iter__函数表示这个数据是可迭代的

dir(数据):返回这个数据可以执行所有的操作

判断迭代器和可迭代对象的方案(野路子):

如果一个函数内部只有__iters__这就是只是可迭代对象

如果 一个函数内部 既有__iters__还有 __next__ 这个就是迭代器

判断迭代器和可迭代对象的方案(官方)

form collections import Iterable , Iterator

isinstance(对象 , Iterable)是否是可迭代的

isinstance(对象,Iterator)是否是迭代器

模拟for 循环

lst=[]

首先先拿迭代器

it=lst.__iter__()
while 1:

  try:

  it.__next__()

  except StopIteration:

    break

特点:

  1. 节省内存(主要食是生成器)

   2.惰性机制

   3.只能向前,不能向后

作用: 统一了各种数据类型的遍历(int ,bool,除外)

day11 第一类对象 闭包 迭代器的更多相关文章

  1. Python_Mix*函数名的使用以及第一类对象,闭包,迭代器,for循环的内部机制

    一:函数名的应用(第一类对象) 函数名的命名规范和变量是一样的,函数名其实就是变量名, 0)函数名可以赋值给其他变量 def func(): #定义一个名为func的函数 print('my ange ...

  2. python 第一类对象 闭包 迭代器

    ########################总结########################### 1. 函数名 -> 第一类对象 函数名就是变量名. 函数可以赋值 函数可以作为集合类的 ...

  3. python第一类对象,闭包,迭代器

    一.第一类对象 第一类对象 -> 函数名 -> 变量名 1.特征:     函数对象可以像变量一样进行赋值     还可以作为列表的元素进行使用     还可以作为返回值返回     还可 ...

  4. python 函数名的应用(第一类对象),闭包,迭代器

    1.函数名的应用(第一类对象) 函数名的命名规范和变量是一样的 函数名其实就是变量名 可以作为列表中的元素进行储存. def func1(): pass def func2(): pass lst = ...

  5. 巨蟒python全栈开发-第11天 第一类对象 闭包 迭代器

    一.今日主要内容总览(重点) 1.第一类对象->函数名=>变量名 (1)函数对象可以像变量一样进行赋值 (2)还可以作为列表的元素进行使用 (3)还可以作为返回值返回 (4)还可以作为参数 ...

  6. 13 Python之第一类对象闭包和迭代器

      def fn():     print("我叫fn") fn() print(fn)## <function fn at 0x0000000001D12E18> f ...

  7. python基础(13):函数名的使用、第一类对象、闭包、迭代器

    1. 函数名的运用 函数名是⼀个变量,但它是⼀个特殊的变量,与括号配合可以执⾏函数的变量. 1.1 函数名的内存地址 def func(): print("呵呵") print(f ...

  8. python之函数闭包、可迭代对象和迭代器

    一.函数名的应用 # 1,函数名就是函数的内存地址,而函数名()则是运行这个函数. def func(): return print(func) # 返回一个地址 # 2,函数名可以作为变量. def ...

  9. 函数的第一类对象,f格式化,迭代器以及递归

    函数名的第一类对象及使用,f格式化以及迭代器 1.函数的第一类对象 第一类对象 --特殊点 1.可以当作值被赋值给变量 def func(): print(1) a = func a() 2.可以当作 ...

随机推荐

  1. Interval 间隔问题

    2018-09-07 09:03:14 一.Merge Intervals 问题描述: 问题求解: public List<Interval> merge(List<Interval ...

  2. Linux awk命令详解 + 练习

    https://www.cnblogs.com/ftl1012/p/9250541.html 练习步骤: 1.我先是在root文件下面创建一个yan.txt文件,然后在文件中随便敲了几个字符串,由空格 ...

  3. 关于类、方法、对象(实例):通过一个例子看一下self都做了哪些事情

    我们在定义一个类时,经常会在类的各个方法中看到self,那么在程序执行时self到底起了什么作用,什么时候要加self,这一点需要我们思考并好好理解.之前在学习时没有想这么多,加之用pycharm写代 ...

  4. Spring Boot 之注解@Component @ConfigurationProperties(prefix = "sms") 使用@ConfigurationProperties读取yml配置

    从spring-boot开始,已经支持yml文件形式的配置,@ConfigurationProperties的大致作用就是通过它可以把properties或者yml配置直接转成对象 @Componen ...

  5. Spring 拦截器实现+后台原理(HandlerInterceptor)

    过滤器跟拦截器的区别 spring mvc的拦截器是只拦截controller而不拦截jsp,html 页面文件的.这就用到过滤器filter了,filter是在servlet前执行的,你也可以理解成 ...

  6. MyEclipse下自定义(支持html5的)JSP模板--JSP

    需求:由于某些Mclipse版本发行的比较早,所以在有些版本(比如Mclipse2014,至于其他版本博主不知能不能创建html5格式的JSP页面)里创建JSP页面时html部分不是html5格式的. ...

  7. Jenkins与Gitlab集成

    一.安装jenkinshttps://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/     #清华yum源 yum -y install java-1.8. ...

  8. Lab 3-4

    Analyze the malware found in the file Lab03-04.exe using basic dynamic analysis tools. (This program ...

  9. LeetCode--042--接雨水(java版)

    给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 ...

  10. CF-831D Office Keys 思维题

    http://codeforces.com/contest/831/problem/D 题目大意是在一条坐标轴上,给出n个人,k把钥匙(k>=n)以及终点的坐标,所有人都可以同时运动,但不可以公 ...