函数名的第一类对象及使用

  1. 当作值,赋值给变量

    • def func():
      print(1)
      print(func) #查看函数的内存地址
      a=func
      print(a)
      a()

        

  2. 可以当作容器中的元素

    • def func():
      print(1)
      def foo():
      print(2)
      #lst.append(func)
      #lst.append(foo)
      #print(lst)

      lst=[func,foo] #放到列表
      for i in lst:
      i() dic={} #放到字典中

        

  3. 函数名可以当作函数的参数

    • def func(a):
      a()
      print(111)
      def foo():
      print(222)
      def f1():
      print(333)
      func(f1)
      foo()

        

  4. 函数名可以当作函数的返回值

    • def func():
      def foo():
      print(111)
      return foo
      func()()

        

f-strings 格式化

  • f"{}"

迭代器

  • 可迭代对象

    • list,tuple,str,set,dict 取值方式只能直接看

    • 只要具有_iter_()方法就是一个可迭代对象

      • s._iter_() -- 将可迭代对象转换成迭代器

  • 具有_iter_()和_next_()两个方法的才是迭代器

  • 迭代器再执行_iter_还是原来的迭代器

  • for 循环的本质

    • while true:
      try:
      print(s._next_())
      except StopIteration:
      break

        

  • iter()与_iter_()是一样的

    • python 2 中有iter() _iter_() next()

    • python 3 中iter()和_iter_() _next_()和next()都有

  • next()与_next_()是一样的

  • iter()与next()用法:
    l=iter(lst) #iter(迭代对象)
    next(l)     #next(迭代器)
  • 迭代器时基于上一次停留的位置,继续取值,不能取超,否则会报错

  • 迭代器优点:

    • 惰性机制 -- 节省空间

  • 迭代器缺点:

    • 不能直接查看值,迭代器查看到的时迭代器的内存地址

    • 一次性,用完就没了

    • 不能逆行

  • 空间换时间:容器存储大量的元素,取值时间短,但是容器占用空间较大

  • 时间换空间:虽然节省了空间,但是取值时间较长

Python之路Day11的更多相关文章

  1. python之路-Day11

    引子 到目前为止,我们已经学了网络并发编程的2个套路, 多进程,多线程,这哥俩的优势和劣势都非常的明显,我们一起来回顾下 协程 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程: ...

  2. 初学python之路-day11

    一.函数的参数:实参与形参 # 参数介绍: # 函数为什么要有参数:因为内部的函数体需要外部的数据 # 怎么定义函数的参数:在定义函数阶段,函数名后面()中来定义函数的参数 # 怎么使用函数的参数:在 ...

  3. python 之路,Day11 (下)- sqlalchemy ORM

    python 之路,Day11 - sqlalchemy ORM   本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM ...

  4. python 之路,Day11(上) - python mysql and ORM

    python 之路,Day11 - python mysql and ORM   本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 ...

  5. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  6. Python之路

    Python学习之路 第一天   Python之路,Day1 - Python基础1介绍.基本语法.流程控制              第一天作业第二天   Python之路,Day2 - Pytho ...

  7. python之路 目录

    目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...

  8. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  9. Python之路【第十八篇】:Web框架们

    Python之路[第十八篇]:Web框架们   Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...

随机推荐

  1. npm常用命令和脚手架使用

    最近前端同学使用最多的莫过于vue,angualr,react等热门前端框架了.那么就避免不掉的使用npm命令,本人就经常因为这三个脚手架的使用而不得不百度相应的npm命令,不胜其烦,,,因此就整理一 ...

  2. .net平台 通过Windows installer 打包和部署实例操作

    Windows installer 打包和部署 1.新建项目. 打开VS,新建项目->其他项目类型->安装和部署(Visual Studio Installer). 注:若VS2013 或 ...

  3. mysql必知必会--排序检索数据

    排序数据 其实,检索出的数据并不是以纯粹的随机顺序显示的.如果不排 序,数据一般将以它在底层表中出现的顺序显示.这可以是数据最初 添加到表中的顺序.但是,如果数据后来进行过更新或删除,则此顺 序将会受 ...

  4. 一次线上nohup.out日志丢失的问题

    今天有小伙伴求助,线上一个应用的nohup.out日志不更新了,但进程还是正常的.此时需要查看这个日志排查一些问题,这可怎么办呢? nohup.out文件的更新时间停留在了昨天9点36,日志也刚好打到 ...

  5. CF #621 div.2

    三连否认跪了 T1 开了第一题水题,一遍交过 /* make by ltao */ #include <iostream> #include <cstdio> #include ...

  6. js函数的使用+封装+代码复用

    javascript 函数 return 后面没有返回值 代表提早退出语句,return后面的语句都不再执行 此时返回值为undefined <!DOCTYPE html> <htm ...

  7. 制作MySQL RPM安装包Spec

    适用环境: 数据库版本:MySQL 操作系统:CentOS 7 制作思路: 将数据库初始化和配置工作放到安装脚本中方便定制: 1.打包MySQL应用目录 2.不自动生成配置文件 3.不自动生成数据目录 ...

  8. 剑指offer-面试题36-二叉搜索树与双向链表-中序遍历

    /* 题目: 将二叉搜索树转化为排序的双向链表,不能创建新的节点, 只能调整节点的指向,返回双向链表的头节点. */ /* 思路: 递归. 二叉搜索树的中序遍历得到的序列是递增序列. 左子树left& ...

  9. SpringBoot导出excel数据报错Could not find acceptable representation

    转自:https://blog.csdn.net/mate_ge/article/details/93518286?utm_source=distribute.pc_relevant.none-tas ...

  10. 开发FTP服务接口,对外提供接口服务

    注意:本文只适合小文本文件的上传下载,因为post请求是有大小限制的.默认大小是2m,虽然具体数值可以调节,但不适合做大文件的传输 最近公司有这么个需求:以后所有的项目开发中需要使用ftp服务器的地方 ...