这只是一个标题,

#  迭代器与生成器
# 迭代器有两个基本的方法:iter() 和 next()。 # 字符串,列表或元组对象都可用于创建迭代器:
"""
list1 = [1, 2, 3, 4]
it = iter(list1) # 创建迭代器对象
print(next(it)) # 输出迭代器的下一个元素
""" # 迭代器对象可以使用常规for语句进行遍历:
"""
import re
import string list2 = [1, 2, 3, 4]
it = iter(list2) # 创建迭代器对象
for x in it:
print(x, end=" ")
""" # 也可以使用 next() 函数
""""
import sys # 引入 sys 模块 list3 = [1, "-2", "3****", 4, 9.99]
it = iter(list3) # 创建迭代器对象 while True:
try:
print(next(it))
except StopIteration:
sys.exit()
""" # 创建迭代器
""" class MyNumbers:
def __iter__(self):
self.a = 1
return self def __next__(self):
x = self.a
self.a += 1
return x def __init__(self):
m1 = [1234567890, "abcdefghijklmnopqrstuvwxyz"]
self.b = m1
# return m1 myclass = MyNumbers() myiter = iter(myclass) print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter)) """ # 创建一个迭代器
"""
# 使用反斜杠 \ 来抵消因多行文本导致的错误,不使用反斜杠会导致变量的定义值是错误的。
doc1 = (
"把一个类作为一个迭代器使用需要在类中实现两个方法 __iter__() 与 __next__() 。\
如果你已经了解的面向对象编程,\
就知道类都有一个构造函数,\
Python 的构造函数为 __init__(), \
它会在对象初始化的时候执行。\
更多内容查阅:\
Python3 面向对象__iter__() 方法返回一个特殊的迭代器对象, \
这个迭代器对象实现了 __next__() 方法并通过 StopIteration 异常标识迭代的完成。\
__next__() 方法(Python 2 里是 next())会返回下一个迭代器对象。\
创建一个返回数字的迭代器,初始值为 1,逐步递增 1:"
) # 正则去空格方法,需要导入re 方法。
print(re.sub(' ', '', doc1))
# print(re.split(pattern, string[, maxsplit=0, flags=0]),doc1) # 错误,引用的方法导致的错误 class MyNumbers:
def __iter__(self):
self.a = 1
return self def __next__(self):
x = self.a
self.a += 1
return x myclass = MyNumbers()
myiter = iter(myclass) print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
""" # StopIteration 异常迭代表达式
""" class MyNumbers:
def __iter__(self):
self.a = 1
return self def __next__(self):
if self.a <= 20: # 这个参数决定循环到多少为止,指定在什么时候停止循环。
x = self.a
self.a += 1
return x
else:
raise StopIteration myclass = MyNumbers() # 将类转换为一个方法?还是将一个类转化为一个变量参数
myiter = iter(myclass) # 将变量转成一个可供循环使用的类型 for x in myiter:
print(x)
""" # 生成器 """
# 280,571,172,992,510,140,037,611,932,413,038,677,189,525
# 173,402,521,172,797,813,159,685,037,284,371,942,044,301
import sys def fibonacci(n): # 生成器函数 - 斐波那契
a, b, counter = 0, 1, 0
while True:
if (counter > n):
return
yield a
a, b = b, a + b
counter += 1 f = fibonacci(200) # f 是一个迭代器,由生成器返回生成 while True:
try:
print(next(f), end=" ") # end ="" 是让输出的时候同一行输出,
except StopIteration:
sys.exit() """ print(pi)

踩坑学习python自动化测试第一天!的更多相关文章

  1. 踩坑学习python自动化测试第二天!

    class put_out(object): def Helloword(str): print(str) Hello,Inder,Pist ="", [],{} word= st ...

  2. web前端学习python之第一章_基础语法(二)

    web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...

  3. web前端学习python之第一章_基础语法(一)

    web前端学习python之第一章_基础语法(一) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...

  4. 学习Python的第一课(简单的单元测试)

    由于有C#开发基础,感觉学习Python应该不难,主要是一些语法了,再加上现在互联网这么发达. 感觉还是要有思路,否则学什么也只能是什么. 话不多说,简单发下这几天的学习成果吧: 第一次写博客,大家不 ...

  5. 记录学习Python的第一天

    这是我的第一篇博客,也是我学Python的第一天. 写这篇博客主要目的是为了记下我学习Python的过程以及所学到的知识点.我所学的是Python3版本,我所学的内容有如下几点: 1.python3中 ...

  6. 一个Js开发者学习Python的第一天

    原文地址:小寒的博客 https://www.dodoblog.cn/blogs/5bf6b8fa0c09883d0f8aad13 作为一个有着足足两年半学习经验和一年半开发经验的js开发者,看着js ...

  7. 解除你学习Python自动化测试框架的所有疑惑,开启学习直通车

    学习框架第一步 前言 很多同学学完Python基础后出现迷茫......有同感的小伙伴,点赞关注........ 学习完Python还要学习什么? 什么是自动化测试框架? 如何搭建自动化测试框架? 甚 ...

  8. 学习python的第一个小目标:通过requests+xlrd实现简单接口测试,将测试用例维护在表格中,与脚本分开。

    小白的学习方式:通过确定一个小目标来想办法实现它,再通过笔记来加深印象. 面对标题中的小目标我陷入了思考....嗯,首先实现利用xlrd库来取出想要的用例 首先用表格准备好用例,如图下: 先试下取nu ...

  9. 学习python的第一天,python的简单知识

    python 是现如今比较火的一种编程语言.在抱着试试的态度我来进行学习下python.要学习python 要先进行环境的安装. 下面是下载链接:https://pan.baidu.com/s/1PW ...

随机推荐

  1. CocosCreator 小知识

    最近在自学creator,有些小坑和解决方案,想记录下来: 1. 防止点击穿透 场景:在游戏界面有功能按钮,上层弹出layer之后,加入了遮罩,但是游戏界面的功能按钮还可以点击,穿透了! 方案1:遮罩 ...

  2. shell date命令

    date命令的语法结构: date [-d][时间运算] [+FORMAT] 先说简单的,[+FORMAT] 部分,主要有如下输出格式: 时间方面: %H : 小时(00..23) %I : 小时(0 ...

  3. Python学习笔记_1

    一.基础知识 1. 基础: 数据结构:常量.变量.元组(列表).字典 数据类型:int float str 算法:分支和循环 面向对象:类.属性.方法 封装.继承.多态 2. python语言的特点: ...

  4. C# WebClient实现文件上传

    一.同步上传 文章 https://www.cnblogs.com/duanjt/p/6420172.html 里面有提到服务端通过WebApi如何实现文件上传,这里就只说客户端使用WebClient ...

  5. ionic 在windows环境下更换logo和加载图片的问题

    做用自己的电脑做ionic项目时,更换logo和加载图片时,无论使用哪种命令,发现都上传不了,并且报错 最后发现,需要将 icon和splash两个文件改为.ai格式才能上传成功. 这是最终生成后的文 ...

  6. libcrypto.so.1.0.0: no version information available

    openssl-1.0.1p源码安装后,依赖于openssl.so库的应用报错libcrypto.so.1.0.0: no version information available 解法:1. 创建 ...

  7. Python --判断路径是否为目录或文件

    os.path.isdir( ), os.path.isfile(),os.listdir( ), os.walk( ) 参考网址:https://blog.csdn.net/xxn_723911/a ...

  8. 关于分布式版本控制系统Git与集中式版本控制系统SVN的区别

    我觉得最最主要的区别就是:分布式Git主要是在本地有各个历史版本,在不联网的时候,也可以更新到最新版本和查看过去的版本,而集中式SVN是所有人都将版本上传到中央服务器,当出现断网情况的时候,用户只有一 ...

  9. java Arrays常用方法

    1. 简介 Arrays类包含用于操作数组的各种方法(例如排序和搜索).此类还包含一个静态工厂,允许将数组视为列表. 如果指定的数组引用为null,则此类中的方法都抛出NullPointerExcep ...

  10. C++标准模板库(STL)之Queue

    1.Queue的常用用法 queue:队列,实现的一个先进先出的容器. 1.1.queue的定义 使用queue,首先要加头文件#include<queue>和using namespac ...