python_0基础开始_day11
第十一节
一,函数名的第一类对象
函数名当作值,赋值给变量
print(函数名) 查看看书的内存地址
函数名可以当作容器中的元素
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("请正确输入!")# 用字典存储大量数据,通过字符串显示每个数字代表的功能,在字典中找到并读取该值
函数名可以当作函数的参数
def func(a): print(111) a()def foo(): print(222)func(foo)
函数名可以当作函数的返回值
def func(): def foo(): print(111) return foofunc()() # foo()
二,f-strings字符串格式化
f"{变量名}"
F"{变量名}"
f"""{变量名}"""
f"{input()}"
f"{3 if 3 > 2 else 2}"
f"{list[索引]}"
f"{dict[keys]}"
三,迭代器
迭代器是基于上一次停留的位置,进行取值
可迭代对象
具有iter()方法就是可迭代对象
list,tuple,str,srt,dict # 取值方式直接看# 只有具有.__iter__()方法就是一个可迭代对象
迭代器
具有.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的更多相关文章
- python_0基础学习_day02
第二节 一,while while也称为无限循环.死循环 while 条件: 缩进 循环体 应用领域:音乐播放:单曲循环,列表循环,随机播放(也是有规律的) 登陆界面:…… 数学计算:1~100的和, ...
- python_0基础学习_day01
Python是一门动态解释型的强类型定义语言 一.变量 变量命名规则 由数字.字母.下划线组成 不能以数字开头 要具有描述性 要区分大小写 禁止使用python的关键字(在pycharm中关键字明明变 ...
- python_0基础开始_day07
第七节 1,基础数据类型补充 str: print(str.capitalize()) —— 首字母大写 print(str.title()) —— 每个单词的首字母大写 print(str.swap ...
- python_0基础开始_day06
第六节 1.小数据池 ==,is,id ==:查看等号两边的值是否一样 a = 9b = 9print(a == b) # 返回Truec = "dog"d = "dog ...
- python_0基础开始_day03
第三节 一.整形和布尔值的转换 int整型 python3: 全部都是整型 python2: 整型,长整型long 十进制转换二进制 # 将十进制的168转换为二进制 #得出结果 将十进制的168转 ...
- python_0基础开始_day05
第五节 一.字典 python的数据结构之一 字典 —— dict 定义:dic = {"key":"dajjlad"} 作用:存储数据,大量,将数据和数据起到 ...
- python_0基础开始_day04
第四节 一.列表 list 数据类型之一,存储大量的,不同类型的数据 列表中只要用逗号隔开的就是一个元素 有序可变的. 1.1列表的索引 列表和字符串一样也拥有索引,但是列表可以修改: lst = [ ...
- python_0基础开始_day13
第十三节 一,匿名函数 匿名函数 == 一行函数 lambda == def == 关键字 函数体中存放的是代码 生成器体中存放的也是代码 就是yield导致函数和生成器的结果不统一 lambda x ...
- python_0基础开始_day12
第十二节 一,生成器 生成器的核心:生成器的本质就是迭代器 迭代器是python自带的 生成器是程序员自己写的一种迭代器 在python中有三种方式来创建生成器: 基于函数编写 推导式方式编写 pyt ...
随机推荐
- AcWing:165. 小猫爬山(dfs + 剪枝)
翰翰和达达饲养了N只小猫,这天,小猫们要去爬山. 经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕>_<). 翰翰和达达只好花钱让它们坐索道下山. 索道上的缆 ...
- RabbitMQ TTL、死信队列
TTL概念 TTL是Time To Live的缩写,也就是生存时间. RabbitMQ支持消息的过期时间,在消息发送时可以进行指定. RabbitMQ支持队列的过期时间,从消息入队列开始计算,只要超过 ...
- Pycharm添加python2解释器
Anaconda3+python3环境下如何创建python2环境(win+Linux下适用,同一个anaconda下py2/3共存) conda info -e 查看python2的路径 Pycha ...
- JVM-GC算法(二)-复制算法&&标记整理算法
这次我和各位分享GC最后两种算法,复制算法以及标记/整理算法.上一篇在讲解标记/清除算法时已经提到过,这两种算法都是在此基础上演化而来的,究竟这两种算法优化了之前标记/清除算法的哪些问题呢? 复制算法 ...
- 打开下载CA root 证书的链接失败
下载CA root 证书 http://adip/certsrv server error or refuse to connect 这是由于AD上没有安装Active Directory Certi ...
- Lasso回归总结
Ridge回归 由于直接套用线性回归可能产生过拟合,我们需要加入正则化项,如果加入的是L2正则化项,就是Ridge回归,有时也翻译为岭回归.它和一般线性回归的区别是在损失函数上增加了一个L2正则化的项 ...
- JScript 对字符串、数组处理的常用方法
1.anchor 方法 在对象中的指定文本两端放置一个有 NAME 属性的 HTML 锚点. strVariable.anchor(anchorString) var strVariable ...
- 在Excel中,已知身份证号码,如何批量计算其实际年龄?
昨天,上司问我:..,你会在Excel中计算年龄吗?当时,一下促住了.说真的,还真不会.今天研究了一下,写下来,方便日后查看. 首先,得有一张已知姓名和相应身份证号的原表吧. 在这张表上再加上三列:出 ...
- 手把手教你 iOS通过自己的服务器实现应用分发
第一步:打包ipa 1:可以是development.ad-hoc.enterprise任何一种打包方式,导出的ipa, 稍后会将安装包上传到服务器上. 2:如下图,箭头指的要打勾 3.点击下一步后出 ...
- druid连接池各属性说明
转: druid连接池各属性说明 2018年10月17日 04:56:57 ht_kasi 阅读数:374 版权声明: https://blog.csdn.net/ht_kasi/article/ ...