PythonDay11
第十一章函数使用_迭代器
今日内容
函数名的第一类对象及使用
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()
PythonDay11的更多相关文章
- Python-Day11 RabbitMQ/redis
写在前面: 好久不写了,实在是不想写,坚持果然是一件不容易的事情. 我喜欢玩,我更爱学习,然而喜欢是放肆,爱是克制,哈哈.每天上班有些忙就不想动,只想在床上翻滚或者鏖战召唤师峡谷.上班闲着时想了想,一 ...
- Python--day11(函数的参数)
今日主要内容 1. 函数的参数 2. 函数的嵌套调用 1. 形参与实参 1. 参数介绍: 函数为什么要有参数:因为内部的函数体需要外部的数据 怎样定义函数的参数:在定义函数阶段,函数名在后面( ...
- 路飞学城Python-Day11
[44.函数-生成器] 需求:有一个列表 [0,1,2,3,4,5,6,7,8,9],对这个列表循环+1 li = [0,1,2,3,4,5,6,7,8,9] li = map(lambda x:x+ ...
- python-day11(正式学习)
目录 文件高级应用 多重操作 r+t:可读,可写(文件名为a) w+t:可写可读 a+t:可追加可读 文件内指针移动及一些操作 指针移动seek(offset,whence) 寻找指针位置tell() ...
- 初学Python-day11 函数4
函数 1.递归函数 自己不断调用自己的过程 2.递归求和 1 def sum(arg): 2 if arg == 1: 3 return 1 4 return arg + sum(arg - 1) 5 ...
- 初学python-day11 函数3
函数 1. global关键字 修改全局变量,声明函数内外使用同一个变量 示例: 1 name = 'xiaoming' 2 3 def test(): 4 global name 5 name = ...
随机推荐
- 家谱(gen)x
家谱(gen) 时间限制 2S [问题描述] 现代的人对于本家族血统越来越感兴趣,现在给出充足的父子关系,请你编写程序找到某个人的最早的祖先. [输入格式]gen.in 输入文件由多行组 ...
- rm:删除文件或目录
在使用 rm 命令删除文件或目录时,系统不会产生任何提示信息.此命令的基本格式为:rm[选项] 文件或目录 选项: -f:强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直 ...
- 计蒜客T2202 数三角形(提高组2017模拟赛(三)day2T3) LZOJ3878攻略
今天模拟赛考了一道计蒜客NOIP2017模拟赛(三)day2T3的数三角形,原题链接 https://nanti.jisuanke.com/t/T2202 ,LZOJ3878攻略.场上想了很久都没转化 ...
- Pollard-rho算法[因子分解算法]
试除法:最简单的因数分解算法,从$ 2 $到$ \sqrt n $一个一个试. 试除法(改进):从$ 2 $到$ \sqrt n $挑素数一个一个试. 然而这样复杂度是相当高的. 生日悖论:指如果一个 ...
- Shell中的条件测试和循环语句
1.条件测试:test或[ 如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为0 运行结果: 带与.或.非的测试命令[ ! EXPR ] : E ...
- win7环境下mongodb分片和移除
本文主要介绍在一台win7电脑上模拟mongo分片.如果有多台服务器,可以将每个mongo部署在单台电脑上.我们将配置3个mongo分片,3个配置服务器,1个路由服务器.如下图所示进行配置,介绍如何增 ...
- What is the most efficient way to deep clone an object in JavaScript?
What is the most efficient way to deep clone an object in JavaScript? Reliable cloning using a libra ...
- C++ TODO __fastcall
C++ TODO __fastcall int __fastcall init_keys2(char *a1, char *a2) { char *v2; // r6 char *v3; // r5 ...
- Error-ASP.NET:The Value of property CloneFrom can not be empty string!
ylbtech-Error-ASP.NET:The Value of property CloneFrom can not be empty string! 1.返回顶部 1. “/”应用程序中的服务 ...
- 在 Android 中进程的级别有哪些?
a) Foreground processb) Visible processc) Service processd) Background processe) Empty process