一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“range数据类型、for循环及应用方式”。
一、再看range数据类型
了解range的类型的一些基本操作
1.range类型
range也是一种类型( type) , 它是一个数字的序列( sequence of numbers) , 而且是不可变的,通常用在for循环中
● 每次使用range( )默认返回一个列表对象。
实现原理:
>>> mlist = range(10 )说明 :首先在内存中构建一个列表对象再并将0~9数字添加到列表中。
创建语法:
● range( stop): list #创建一 个列表,默认从0开始到stop指定范围的前一个结束,每次递增步长为1。
● range( [start,] stop Istep]) : list #创建一个列表 ,从start开始到stop指定范围的前一个结束,每次按照step指定的步长递增。
2.range ( )示例说明
● 使用range ( )输出0~9数字。
>>> range(10)
[0, 1,2,3,4,5,6,7,8, 9]
>>> range(0, 10)
[0, 1,2,3,4,5,6,7,8, 9]
当step为正时,一个range的元素值为r[ = start+ i* step且r心< stop; step为负时,r[心> stop.
● 使用range( )输出1~9之间数。
>>> range(1, 10, 2)
[1,3,5, 7, 9]
● 使用range ( )输出0~-10之间数。
>>> range(0, -10, -2)
[0, -2,-4,-6, -8]
二、For循环语句
掌握for循环的基本语法格式,了解for循环的应用场景
1.for循环语句
For循环语句一般用于已知循环次数的遍历操作,比如列表、字符串等。
基本语法:
for.变量in循环对象:
循环语句块;
pass
2.嵌套循环
● 嵌套循环常指两个for循环叠加使用。外层循环循环1次,内层循环循环N次。
● 例如:分针每走1格(外层循环) ,秒针需要走60格(内层循环)
示例代码:
输出九九乘法表
代码演示:
ch05-demo06-jiu.py
运行结果:
3.For循环使用说明
● 使用for循环输出0~ 9数字:
ch05- demo01-for -basicpy
● 使用for循环输出9~0数字:
ch05-demo02-for-basic.py
● 输出列表元素:
ch05-demo03-for-list.py
4. For循环控制语句for..else...
在Python中, for ... else表示这样的意思, for中的语句和普通的没有区别, else中的语句会在循环正常执行完(即for不是通过break跳出而中断的)的情况下执行,与上一章中的while .. else是一样。
场景模拟:
输出1~10之间的质数并打印整除过程。
代码演示:
ch05-demo08-for-else.py
三、推导式
Python3中重要的应用方式,介绍列表、字典推导式的应用
推导式:
● 推导式comprehensions (又称解析式) ,是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。共有三种推导:
①列表(list)推导式
②字典(dict推导式
③集合(set)推导式
列表推导式
● 基本格式
variable= [out_ exp_ res for out_ exp in input_ listifout_ exp== 2]
○语法说明
→out_ exp_ _res: 列表生成元素表达式,可以是有返回值的函数。
→for out_ _exp in input_ list: 迭代input_ list将out_ _exp传入out exp_ res表达式中。
→ifout_exp==2:根据条件过滤哪些值可以。
示例应用1
代码演示1 :
ch05-demo10-for-comprehensions.py
>>> mlist1= [i fori in range(1,101)ifi%2== 0]
>>> mlist1
代码演示2 :
ch05-demo10-for-comprehensions py数字拆位
>>> number = 4321
>>> mlist2 =['abc_ '+str(i) for in range(1,101)ifi %2== 0]
字典推导式
● 字典推导和列表推导的使用方法是类似的,只不过中括号该改成大括号。
○ K-V值互换
代码演示5 :
ch05-demo10-for-comprehensions,py
#字典推导式
mcase={'a': 10, 'b': 34}
mcase_ frequency= {v: k for k, V in mcase.items()}
print(mcase_ frequency)
集合推导式
跟列表推导式也是类似的。唯一 的区别在于它使用大括号{}.
代码演示5 :
ch05-demol0-for-comprehensions.py
#集合推导式
>>> square= {i**2 fori in range(10)ifi%2== 0]}
>>> square