第十一节

一,函数名的第一类对象

  1. 函数名当作值,赋值给变量

    • print(函数名) 查看看书的内存地址

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

    lis = []dic = {}def func():    print(11)def foo():    print(22)lst.append(func)lst.append(foo)print(lst)# 输出后的是内存地址​msg = """1 登录2 注册3 主页"""choose = input(msg)   # 1if choose.isdecimal():    if dic.get(choose):        dic[choose]()    else:        print("请正确输入!")# 用字典存储大量数据,通过字符串显示每个数字代表的功能,在字典中找到并读取该值
  3. 函数名可以当作函数的参数

    def func(a):    print(111)    a()​def foo():    print(222)func(foo)
  4. 函数名可以当作函数的返回值

    def func():    def foo():        print(111)    return foo​func()()  # foo()

二,f-strings字符串格式化

    • f"{变量名}"

    • F"{变量名}"

    • f"""{变量名}"""

    • f"{input()}"

    • f"{3 if 3 > 2 else 2}"

    • f"{list[索引]}"

    • f"{dict[keys]}"

三,迭代器

迭代器是基于上一次停留的位置,进行取值

  1. 可迭代对象

    • 具有iter()方法就是可迭代对象

    list,tuple,str,srt,dict # 取值方式直接看# 只有具有.__iter__()方法就是一个可迭代对象
  2. 迭代器

    • 具有.iter()和.next()两个方法才是迭代器

    • 迭代器的优点:

      • 惰性机制——节省空间。

    • 迭代器的缺点:

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

      • 一次性,用完就没了

      • 不能逆行(后退)

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

    • 时间换空间:迭代器就是节省了空间,但是取值时间较长。

    • Python2和3的区别:

      • Python3:

        • iter()和iter()都有;next()和next()都有

      • Python2:

        • 只有__iter__(),next()

    # python3:iter()和__iter__()都有;next()和__next__()都有# python2:只有iter(),next()​# 具有.__iter__()和.__next__()两个方法才是迭代器lis = [1,2,3,4,5,6]l = lis.__iter__()# 将可迭代对象转换成迭代器l = iter(lis) # iter 和__iter__是一样的l.__iter__()#迭代器指定__iter__()还是原来的迭代器​# for 循环的本质:while True:    try:        print(l.__next__())    except StopIteration:        break

python_0基础开始_day11的更多相关文章

  1. python_0基础学习_day02

    第二节 一,while while也称为无限循环.死循环 while 条件: 缩进 循环体 应用领域:音乐播放:单曲循环,列表循环,随机播放(也是有规律的) 登陆界面:…… 数学计算:1~100的和, ...

  2. python_0基础学习_day01

    Python是一门动态解释型的强类型定义语言 一.变量 变量命名规则 由数字.字母.下划线组成 不能以数字开头 要具有描述性 要区分大小写 禁止使用python的关键字(在pycharm中关键字明明变 ...

  3. python_0基础开始_day07

    第七节 1,基础数据类型补充 str: print(str.capitalize()) —— 首字母大写 print(str.title()) —— 每个单词的首字母大写 print(str.swap ...

  4. python_0基础开始_day06

    第六节 1.小数据池 ==,is,id ==:查看等号两边的值是否一样 a = 9b = 9print(a == b) # 返回Truec = "dog"d = "dog ...

  5. python_0基础开始_day03

    第三节 一.整形和布尔值的转换 int整型 python3: 全部都是整型 python2: 整型,长整型long 十进制转换二进制 # 将十进制的168转换为二进制 ​#得出结果 将十进制的168转 ...

  6. python_0基础开始_day05

    第五节 一.字典 python的数据结构之一 字典 —— dict 定义:dic = {"key":"dajjlad"} 作用:存储数据,大量,将数据和数据起到 ...

  7. python_0基础开始_day04

    第四节 一.列表 list 数据类型之一,存储大量的,不同类型的数据 列表中只要用逗号隔开的就是一个元素 有序可变的. 1.1列表的索引 列表和字符串一样也拥有索引,但是列表可以修改: lst = [ ...

  8. python_0基础开始_day13

    第十三节 一,匿名函数 匿名函数 == 一行函数 lambda == def == 关键字 函数体中存放的是代码 生成器体中存放的也是代码 就是yield导致函数和生成器的结果不统一 lambda x ...

  9. python_0基础开始_day12

    第十二节 一,生成器 生成器的核心:生成器的本质就是迭代器 迭代器是python自带的 生成器是程序员自己写的一种迭代器 在python中有三种方式来创建生成器: 基于函数编写 推导式方式编写 pyt ...

随机推荐

  1. Routing(exchange--direct)

    引言 它是一种完全按照routing key(路由关键字)进行投递的:当消息中的routing key和队列中的binding key完全匹配时,才进行会将消息投递到该队列中 1.模型 2.创建生产者 ...

  2. ettercap局域网DNS切换到恶意网址

    ettercap -i eth0 -Tq -M arp:remote -P dns_spoof /// /// Dns欺骗--Ettercap工具进行Dns欺骗 转载至 https://blog.cs ...

  3. tomcat 配置域名部署war 项目

    第一步把打包好的war包 放到 tomcat目录下的webapps 下 截图: 第二步:找到tomcat目录下的server.xml配置文件 server.xml在conf文件夹下面 编辑server ...

  4. LeetCode 144. 二叉树的前序遍历(Binary Tree Preorder Traversal)

    题目描述 给定一个二叉树,返回它的 前序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 解题思路 由 ...

  5. layui template list

    //第一步:编写模版.你可以使用一个script标签存放模板,如: <script id="demo" type="text/html"> < ...

  6. centos7配置外网

    1设置网络连接中的NAT网络配置 2虚拟机的网络设置选择NAT连接设置如下,子网IP可通过ipconfig查看本地VMnet8,如我本地VMnet8 ip为:192.168.198.0 3 3.开启虚 ...

  7. 2019-8-13未命名文件 sdfsdfsdfsdfsdfsdf

    2019-8-13未命名文件 sdfsdfsdfsdfsdfsdf 新建模板小书匠 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 小书匠主按钮>模板 里的模板管理来改变新建文章 ...

  8. react判断点击位置是否为组件内,实现点击外部触发组件内事件

    1.导入 import {findDOMNode} from 'react-dom' 2.绑定ref <div ref="refTest" </div> 3.绑定 ...

  9. java.sql.SQLException: Listener refused the connection with the following error: ORA-12505, TNS:list

    package DisplayAuthors; import  java.sql.*; public class DisplayAuthors  { private static final  Str ...

  10. 使用MyBatis的动态SQL表达式时遇到的“坑”(integer)

    现有一项目,ORM框架使用的MyBatis,在进行列表查询时,选择一状态(值为0)通过动态SQL拼接其中条件但无法返回正常的查询结果,随后进行排查. POJO private Integer stat ...