PythonDay11
2024-09-01 11:07:04
第十一章函数使用_迭代器
今日内容
函数名的第一类对象及使用
f-strings
迭代器
函数名的第一类对象及使用
函数名可以当做值,赋值给变量
函数名可以当做容器内的元素
函数名可以当做函数的参数
函数名可以当做函数的返回值
f-strings
f-strings
# f"{变量名}"
# F"{变量名}"
# f"""{变量名}"""
# f"{input()}"
# f"{3 if 3>2 else 2}"
# lst = [1,2,3,4,5]
# f"{lst[4]}"
# f"{lst[-1]}"
# f"{dic['key1']}"
迭代器
可迭代对象:
只要具有__iter__()方法就是一个可迭代对象
迭代器:
具有__iter__()和__next__()两个方法才是迭代器
lst = [1, 2, 3, 4]
# l = iter(lst) #变成迭代器,建议使用iter()
l = lst.__iter__() # 将可迭代对象转换成迭代器
print(l.__nexr__()) # 获取一个值
print(l.__nexr__()) # 每一行获取一个值,当超过索引的时候会报错,并且只能从头到尾,不可逆
迭代器的优点
惰性机制 ---节省空间
迭代器的缺点
1.不能直接查看值,迭代器查看到的是一个迭代器的内存地址
2.一次性,用完就没有了
3.不能逆行
时间换空间: 迭代器就是节省了空间,但是取值时间较长
空间换时间: 容器存储大量的元素,取值时 取值时间短,但是容器占用空间较大
迭代器是基于上一次停留的位置,进行取值
可迭代对象:具有iter()方法就是一个可迭代对象
迭代器:具有iter()和next()方法就是一个迭代器
for循环本质
# while True:
# try:
# print(l.__next__())
# except StopIteration:
# break
# 里面有一个捕捉异常的机制,所以取值不会超
python3和python2的区别:
# pyhton3:
# iter()和 __iter__() 都有
# next()和__next__()都有
# python2:
# iter()
# next()
最新文章
- Code Conventions for the Java
- static与并发
- MVVM和MVC的区别
- SU unisam命令学习
- OSG动画学习
- 软件开发过程中的审查 (Review)
- Give My Text Back
- 程序进入 EXPORT App_Fault_ISR的原因及措施:
- 打开新窗口(window.open)
- Ubuntu 定时任务中的环境变量设置
- Healwire Online Pharmacy 3.0 Cross Site Request Forgery / Cross Site Scripting
- 七夕节快到了,做个图钉画以及学习下Pillow吧
- servlet生成验证码代码
- pghoard 面向云存储的pg 备份&;&;恢复工具
- setTag,getTage复用
- JSP 语法
- BZOJ 1305 [CQOI2009]dance跳舞(二分+网络流)
- 路由器基本配置实验,静态路由和动态RIP路由
- Android NDK开发 Android Studio使用新的Gradle构建工具配置NDK环境(一)
- NET Core 1.1 静态文件、路由、自定义中间件、身份验证简介
热门文章
- CF 354 D 迷宫与门的旋转 BFS +状态压缩 一定要回头看看
- Ubuntu18.04安装rabbitvcs svn图形化客户端和简单实用
- (转译)2019年WEB漏洞扫描工具和软件前十名推荐
- MqttConnectReturnCode枚举值
- 在RHEL6_Oracle_Linux_6上生成正确的udev_rule_规则文件
- Fiddlercore拦截并修改HTTPS链接的网页,实现JS注入
- 【转】C/C++ 引用作为函数的返回值
- php array function
- gromacs2018使用踩坑记--insert-molecules
- golang tcp keepalive实践