这只是一个标题,

#  迭代器与生成器
# 迭代器有两个基本的方法: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. C语言--第2次作业

    1.本章学习总结 1.1思维导图 1.2本章学习体会及本章代码量 1.2.1学习体会 不同于前几周简单的条件语句等,这一周开始学习循环结构for,while语句,甚至是多种语句嵌套使用,让我直接感受到 ...

  2. Redis5.0+哨兵模式+Keepalived实现高可用

    Redis主备配置 原理: 从服务器向主服务器发出SYNC指令,当主服务器接到此命令后,就会调用BGSAVE指令来创建一个子进程专门进行数据持久化工作,也就是将主服务器的数据写入RDB文件中.在数据持 ...

  3. MySQL单表多次查询和多表联合查询,哪个效率高?

    很多高性能的应用都会对关联查询进行分解. 简单地,可以对每个表进行一次单表查询,然后将结果在应用程序中进行关联.例如,下面这个查询: select * from tag join tag_post o ...

  4. python转义符

  5. Laravel Not Found Exceptions 取数据的一个小技巧

    从 model 中取数据的时候, 用下面的方法, 而不是简单的 find(1), 或 first(), 这样如果刚好要查询的数据没有, 就会返回比较友好的 404 页面: $model = App\F ...

  6. java比较排序Comparable和Comparator

    1       比较排序Comparable和Comparator 1.1      接口作用说明 Comparable和Comparator都是用来实现对象的比较.排序,对比时需要实现Compara ...

  7. fiddler -- 一个强大的抓包工具

    一.fiddler常用功能: 1. Fiddler 是位于客户端和服务器端的http代理,也是目前最常用的http抓包工具之一.它能够记录客户端和服务器之间的所有http请求,可以针对特定的http请 ...

  8. 第 8 章 容器网络 - 072 - 一文搞懂各种 Docker 网络

    Docker 起初只提供了简单的 single-host 网络,显然这不利于 Docker 构建容器集群并通过 scale-out 方式横向扩展到多个主机上. 跨主机网络方案: Docker Over ...

  9. spring中集成hibernate

    1.hibernate框架是什么? (1)hibernate对jdbc进行的封装 (2)开源的轻量级框架. 2.hibernate思想:ORM(对象关系映射) (1)让实体类和数据库中的表一一对应(表 ...

  10. C#防盗链处理类的代码

    如下的内容是关于C#防盗链处理类的内容. public class FileHandler:IHttpHandler{public FileHandler(){} public void Proces ...