大家都知道学习软件测试需要必须要掌握一门开发语言,对于测试小白来说我们都是推荐python进行学习,因为比较简单,那么今天笔者想给大家唠唠python语言的基本数据类型可以分为三类:数值类型、序列类型、散列类型,本文主要介绍数值类型和序列类型及其通用操作。

数值类型有四种:
1)整数(int):整数
2)浮点数(float):小数
3)布尔值(bool):只有两个值True和False
4)复数(complex):和数学中的复数一样由实部和虚部(j)组成(了解即可,学习自动化测试几乎用不到)

使用时需要导入random模块,这个模块在自动化测试中会经常用到,常用于生成随机的整数或生成随机浮点数,用法如下:
- import random
-
- # 生成随机的整数
- num_int = random.randint(1, 10) # 参数:起始数、结束数,左闭右闭
-
- # 生成0-1之间的随机浮点数
- num_float = random.random() # 不需要传参
- print(num_float)
-
- # 自动化测试主要使用上面两种,下面这几种了解即可,还有更多的方法有兴趣的自行百度
- print( random.uniform(1.1,5.4) ) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数
- print( random.choice('tomorrow') ) # 从序列中随机选取一个元素
- print( random.randrange(1,100,2) ) # 生成从1到100的间隔为2的随机整数
运行结果:
- C:\software\python\python.exe D:/myworkspace/test/test/test.py
- 0.655518327833445
- 2.589485747270378
- o
- 53
-
- Process finished with exit code 0
1)字符串(str):用单引号('),双引号("),三引号(三单引号'''或三双引号""")来表示
2)列表(list):用[ ]中括号表示
3)元组(tuple):用()小括号表示
字符串定义:单引号、双引号、三引号、str() 引号都是成对出现
空字符串:s ='' (单引号对里没有任何数据)
空字符:s =' ' (中间有一个空格)
- a = 'test'
- b = "book"
- c = '''student'''
- d = """tea"""
- x = 123 # x是数值类型
- y = str(x) # 通过python内置函数str()转换成字符串
- a = 'bo'
- b = 'ok'
- c = a + b # 字符串拼接
- print(c)
-
- print('这是测试换行\n的字符串')
- print(r'!@$#%#&"""这是防止转义的字符串')
- print(c[0]) # 下标取值
运行结果:
- C:\software\python\python.exe D:/myworkspace/test/test/test.py
- book
- 这是测试换行
- 的字符串
- !@$#%#&"""这是防止转义的字符串
- b
-
-
- Process finished with exit code 0
- str1 = '000'
- str2 = str1.join(('zhangsan','nan','18')
- print(str2)
- # 输出结果
- # zhangsan000nan00018
-
- str3 = ' '.join(str1)
- print(str3)
- # 输出结果
- # 0 0 0
查找元素的位置,可以是单个元素,也可以查找字符串,如果找不到就返回-1
- # find:查找元素,找到第一个返回对应的下标值,找不到返回-1
- str1 = 'asdgsajl'
- print(str1.find('a'))
- print(str1.find('sa'))
- print(str1.find('adadda'))
-
- # 输出结果
- # 0
- # 4
- # -1
统计元素个数,可以是单个元素,也可以是字符串
- str1 = 'asdgsajl'
- print(str1.count('a'))
-
- # 输出结果
- # 2
可以替换单个元素,也可以替换字符串,从左到右会替换全部符合条件的,还可以指定替换次数
- str1 = 'asdgsajl'
- print(str1.replace('a','2'))
- print(str1.replace('a','2',1)) # 只替换1次
-
- # 输出结果
- # 2sdgs2jl
- # 2sdgsajl
split() 指定某个字符为分隔符,分割出来的结果放入一个列表
- str1 = 'sdagsajl'
- print(str1.split('a'))
-
- # 输出结果
- # ['sd','gs','jl']
-
- # 分割后取出第一个,按下标取值,下标从0开始
- print(str1.split('a')[0])
- # 输出结果
- # sd
将英文字母全部转成大写、小写
- str1 = 'asdfgh'
- print(str1.upper())
-
- str2 = 'SDFGG'
- print(str2.lower())
-
- # 输出结果
- ASDFGH
- sdfgg
去除首尾空格和换行符,另外还有lstrip()去除左边的空格,rstrip()去除右边的空格
- str1 = ' asrfaada '
- print(str1.strip())
-
- # 输出结果
- # asrfaada
- test = 'python'
- num = 12345.45612
- print('test是%s' % test)
- print('test是%.2s' % test)
- # print('test是%d' % test) # 因为test是一个字符串,使用%d会报错
- print('num是%d' % num)
- print('num是%f' % num)
- print('num是%.2f' % num)
运行结果:
- C:\software\python\python.exe D:/myworkspace/test/test/test.py
- test是python
- test是py
- num是12345
- num是12345.456120
- num是12345.46
-
- Process finished with exit code 0
用 { } 花括号作一个占位符,这种写法比较流行
- print('{}{}{}'.format('test','是','python')) # 常用这种写法
- print('{}a{}a{}'.format('test','是','python'))
- print('{2}{0}{1}'.format('test','是','python')) # 指定format下标
运行结果:
- C:\software\python\python.exe D:/myworkspace/test/test/test.py
- test是python
- testa是apython
- pythontest是
-
- Process finished with exit code 0
通过()小括号来表示元组,元组中的数据可以是任意的,但元组是不可变类型的数据,元组定义之后无法修改其内部的元素
下标取值:元组内部的数据是有序的,可以通过下标取值
注意点:
t = () 是空元祖
t = (1,) 只有一个数据的时候,要在末尾加一个逗号
count:查找元素的个数,找不到会返回0
index:查找元素的下标,还可以指定查找范围
- t = () # 这是一个空元组
- t2 = (1,) # 只有一个元素
- t3 = (1, 2, 3, 'sdfg', '张三' , 'sdfg')
- res = t3.count('张三')
- res2 = t3.count('sd')
- res3 = t3.count('sdfg')
- res4 = t3.index('sdfg')
- res5 = t3.index('sdfg', 0, 4)
- print(t, t2, t3, res, res2, res3,res4, res5)
运行结果:
- C:\software\python\python.exe D:/myworkspace/test/test/test.py
- () (1,) (1, 2, 3, 'sdfg', '张三', 'sdfg') 1 0 2 3 3
-
- Process finished with exit code 0
1)下标索引取值:列表内部的元素是有序的
2)修改元素的值:列表是可变类型数据,可以通过下标修改指定位置的值
- li = [1, 2, 'ada', (1, 2)] # 嵌套了一个元组,整个元组是一个元素
- print(li[3])
- li[3] = (1, 2, 3)
- print(li)
运行结果:
- C:\software\python\python.exe D:/myworkspace/test/test/test.py
- (1, 2)
- [1, 2, 'ada', (1, 2, 3)]
-
- Process finished with exit code 0
- li = ['python', 'java', 'c', 'c++', 'go', 'ruby', 'html']
-
- # 增加元素
- # append:往列表的最后位置增加元素
- li.append('php')
- print(li)
- li.append([11, 22, 33]) # 嵌套,加一个列表
- print(li)
-
- # insert:按指定位置插入,通过下标指定
- li.insert(3, 'c#')
- print(li)
- li.insert(4, '[0,1]') # 嵌套,指定位置加一个列表
- print(li)
-
- # extend:插入多个元素
- li.extend(['aa', 'bb', 'cc'])
- print(li)
运行结果:
- C:\software\python\python.exe D:/myworkspace/test/test/test.py
- ['python', 'java', 'c', 'c++', 'go', 'ruby', 'html', 'php']
- ['python', 'java', 'c', 'c++', 'go', 'ruby', 'html', 'php', [11, 22, 33]]
- ['python', 'java', 'c', 'c#', 'c++', 'go', 'ruby', 'html', 'php', [11, 22, 33]]
- ['python', 'java', 'c', 'c#', '[0,1]', 'c++', 'go', 'ruby', 'html', 'php', [11, 22, 33]]
- ['python', 'java', 'c', 'c#', '[0,1]', 'c++', 'go', 'ruby', 'html', 'php', [11, 22, 33], 'aa', 'bb', 'cc']
-
- Process finished with exit code 0
- li = ['python', 'java', 'c', 'c++', 'go', 'ruby', 'html']
-
- # 删除元素
- # remove:删除指定元素,从前往后找,找到第一个删除,只删除第一个
- li.remove('python')
- print(li)
-
- # pop:指定下标删除,如果不传下标,默认删除最后一个,最后一个是-1
- li.pop()
- print(li)
- li.pop(0)
- print(li)
-
- # clear:清空列表的所有元素
- # li.clear() 这里不做运行
-
- # del:关键字(关键字删除) 把整个li列表从内存删除了
- # del li 这里不做运行
- del li[1] # 通过下标删除某一个元素
- print(li)
运行结果:
- C:\software\python\python.exe D:/myworkspace/test/test/test.py
- ['java', 'c', 'c++', 'go', 'ruby', 'html']
- ['java', 'c', 'c++', 'go', 'ruby']
- ['c', 'c++', 'go', 'ruby']
- ['c', 'go', 'ruby']
-
- Process finished with exit code 0
- li = ['python', 'java', 'c', 'c++', 'go', 'ruby', 'html']
-
- # 查询
- # count:计数
- print(li.count('python')) # 统计元素的个数
- # index:返回下标
- print(li.index('java')) # 查找元素的下标
运行结果:
- C:\software\python\python.exe D:/myworkspace/test/test/test.py
- 1
- 1
-
- Process finished with exit code 0
- li = ['python', 'java', 'c', 'c++', 'go', 'ruby', 'html']
-
- # 修改列表元素
- li[1] = 'python'
- print(li)
运行结果:
- C:\software\python\python.exe D:/myworkspace/test/test/test.py
- ['python', 'python', 'c', 'c++', 'go', 'ruby', 'html']
-
- Process finished with exit code 0
- lii = [88,17,22,56,123,23,22,5]
- # copy:对列表的元素倒序显示
- test = lii.copy()
- print(test)
-
- # sort:对数值排序,默认从小到大排序
- lii.sort() # 从小到大排序
- print(lii)
-
- lii.sort(reverse=True) # 从大到小排序
- print(lii)
-
- # reverse:对列表的元素倒序显示
- lii.reverse()
- print(lii)
运行结果:
- C:\software\python\python.exe D:/myworkspace/test/test/test.py
- [88, 17, 22, 56, 123, 23, 22, 5]
- [5, 17, 22, 22, 23, 56, 88, 123]
- [123, 88, 56, 23, 22, 22, 17, 5]
- [5, 17, 22, 22, 23, 56, 88, 123]
-
- Process finished with exit code 0
可以正向取,从0开始,也可以反向取,从-1开始
[a:b] a代表起始位置,b终止位置,使用的是元素下标,左闭右开,需a
[a: b : c] c为步长,c为负时表示反切,从后面开始切,需a>b
- # 内部元素按下标索引进行排序
- # 切片[a:b] 左闭右开
- # [a:b:c] 为c步长
-
- str1 = 'hello python !'
- str2 = ['python','java','c++','c#','go','php']
- str3 = (1,3,4)
- print(str1[1])
- print(str1[6:12])
- print(str2[6:-2])
-
- print(str1[::2]) # 毎2个元素为一步,取毎一步的第一个元素
- print(str1[6:12:2]) # 取到python,步长为2,最后切片结果pto
-
- # 步长为正:开始位置下标小于终止位置 a
- # 步长为负:开始位置下标大于终止位置 a>b
-
- print(str2[::-2]) # 从后面切起,2个元素为一步
-
- print(str2[0:5:-2]) # 这样是切不到元素的,思考一下为什么?
- print(str2[5:0:-2])
运行结果:
- C:\software\python\python.exe D:/myworkspace/test/test/test.py
- e
- python
- []
- hlopto
- pto
- ['php', 'c#', 'java']
- []
- ['php', 'c#', 'java']
-
- Process finished with exit code 0
len()
count()
- str1 = 'asdas'
- li = [1,2]
- # len():打印元素的个数
- print(len(str1))
- print(len(li))
- # count():打印元素的个数
- print(str1.count('a'))
- print(li.count(1))
- # 序列类型之间的相互转换
- str1 = 'hello python !'
- str2 = ['python','java','c++','c#','go','php']
- str3 = (1,3,4)
- print(str(str2)) # 将整个元组或列表强制转换成一个字符串(基本不用)
- print(str(str3))
- print(list(str1)) # 将元组和字符串中的每个元素拿出来,组成一个列表
- print(list(str3))
- print(tuple(str1)) # 将列表和字符串中的每个元素拿出来,组成一个元组
- print(tuple(str2))
运行结果:
- C:\software\python\python.exe D:/myworkspace/test/test/test.py
- ['python', 'java', 'c++', 'c#', 'go', 'php']
- (1, 3, 4)
- ['h', 'e', 'l', 'l', 'o', ' ', 'p', 'y', 't', 'h', 'o', 'n', ' ', '!']
- [1, 3, 4]
- ('h', 'e', 'l', 'l', 'o', ' ', 'p', 'y', 't', 'h', 'o', 'n', ' ', '!')
- ('python', 'java', 'c++', 'c#', 'go', 'php')
-
- Process finished with exit code 0
今天的文章就到这里了哟,需要获得下面福利的小伙伴可以私信我关键字“资料”获取哟。
喜欢的小伙伴不要忘记点赞收藏评论加关注哟。

app项目,银行项目,医药项目,电商,金融





