• 全栈自动化测试之python基础基本数据类型数值类型及序列类型


    文章末尾给大家留了大量的福利

    前言

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

     

    一、数值类型

    数值类型有四种:

    1)整数(int):整数

    2)浮点数(float):小数

    3)布尔值(bool):只有两个值True和False

    4)复数(complex):和数学中的复数一样由实部和虚部(j)组成(了解即可,学习自动化测试几乎用不到)

    二、算数运算符

    三、random模块

    使用时需要导入random模块,这个模块在自动化测试中会经常用到,常用于生成随机的整数或生成随机浮点数,用法如下:

    1. import random
    2. # 生成随机的整数
    3. num_int = random.randint(1, 10) # 参数:起始数、结束数,左闭右闭
    4. # 生成0-1之间的随机浮点数
    5. num_float = random.random() # 不需要传参
    6. print(num_float)
    7. # 自动化测试主要使用上面两种,下面这几种了解即可,还有更多的方法有兴趣的自行百度
    8. print( random.uniform(1.1,5.4) ) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数
    9. print( random.choice('tomorrow') ) # 从序列中随机选取一个元素
    10. print( random.randrange(1,100,2) ) # 生成从1到100的间隔为2的随机整数

    运行结果:

    1. C:\software\python\python.exe D:/myworkspace/test/test/test.py
    2. 0.655518327833445
    3. 2.589485747270378
    4. o
    5. 53
    6. Process finished with exit code 0

    四、序列类型

    1)字符串(str):用单引号('),双引号("),三引号(三单引号'''或三双引号""")来表示

    2)列表(list):用[ ]中括号表示

    3)元组(tuple):用()小括号表示

    五、字符串str

    1.定义

    字符串定义:单引号、双引号、三引号、str() 引号都是成对出现

    空字符串:s ='' (单引号对里没有任何数据)

    空字符:s =' ' (中间有一个空格)

    1. a = 'test'
    2. b = "book"
    3. c = '''student'''
    4. d = """tea"""
    5. x = 123 # x是数值类型
    6. y = str(x) # 通过python内置函数str()转换成字符串

    2.字符串的常见操作

    • 字符串的拼接: +
    • 字符串的输出:print(),输出多个不同的数据用逗号隔开
    • 字符串转义:\n换行 , r 防止转义
    • 下标取值:[],默认下标从0开始,0,1,2.....,如果从后面倒序开始取,就是-1,-2,-3......
    1. a = 'bo'
    2. b = 'ok'
    3. c = a + b # 字符串拼接
    4. print(c)
    5. print('这是测试换行\n的字符串')
    6. print(r'!@$#%#&"""这是防止转义的字符串')
    7. print(c[0]) # 下标取值 

    运行结果:

    1. C:\software\python\python.exe D:/myworkspace/test/test/test.py
    2. book
    3. 这是测试换行
    4. 的字符串
    5. !@$#%#&"""这是防止转义的字符串
    6. b
    7. Process finished with exit code 0

    3.字符串的常用方法

    1)join字符串拼接

    1. str1 = '000'
    2. str2 = str1.join(('zhangsan','nan','18')
    3. print(str2)
    4. # 输出结果
    5. # zhangsan000nan00018
    6. str3 = ' '.join(str1)
    7. print(str3)
    8. # 输出结果
    9. # 0 0 0

    2)find查找元素

    查找元素的位置,可以是单个元素,也可以查找字符串,如果找不到就返回-1

    1. # find:查找元素,找到第一个返回对应的下标值,找不到返回-1
    2. str1 = 'asdgsajl'
    3. print(str1.find('a'))
    4. print(str1.find('sa'))
    5. print(str1.find('adadda'))
    6. # 输出结果
    7. # 0
    8. # 4
    9. # -1

    3)count统计元素个数

    统计元素个数,可以是单个元素,也可以是字符串

    1. str1 = 'asdgsajl'
    2. print(str1.count('a'))
    3. # 输出结果
    4. # 2

    4)replace替换字符

    可以替换单个元素,也可以替换字符串,从左到右会替换全部符合条件的,还可以指定替换次数

    1. str1 = 'asdgsajl'
    2. print(str1.replace('a','2'))
    3. print(str1.replace('a','2',1)) # 只替换1次
    4. # 输出结果
    5. # 2sdgs2jl
    6. # 2sdgsajl

    5)split字符串分割

    split() 指定某个字符为分隔符,分割出来的结果放入一个列表

    1. str1 = 'sdagsajl'
    2. print(str1.split('a'))
    3. # 输出结果
    4. # ['sd','gs','jl']
    5. # 分割后取出第一个,按下标取值,下标从0开始
    6. print(str1.split('a')[0])
    7. # 输出结果
    8. # sd

    6)upper、lower大小写

    将英文字母全部转成大写、小写

    1. str1 = 'asdfgh'
    2. print(str1.upper())
    3. str2 = 'SDFGG'
    4. print(str2.lower())
    5. # 输出结果
    6. ASDFGH
    7. sdfgg

    7)strip去除空格换行符

    去除首尾空格和换行符,另外还有lstrip()去除左边的空格,rstrip()去除右边的空格

    1. str1 = ' asrfaada '
    2. print(str1.strip())
    3. # 输出结果
    4. # asrfaada

    4.字符串格式化输出

    1)传统格式化输出%

    • 输出整数 %d
    • 输出浮点数 %f
    • 指定输出小数点位数 %.2f (保留小数点后2位)
    • 输出字符串 %s
    • 字符串截取 %.2s (保留两个长度的字符串)
    1. test = 'python'
    2. num = 12345.45612
    3. print('test是%s' % test)
    4. print('test是%.2s' % test)
    5. # print('test是%d' % test) # 因为test是一个字符串,使用%d会报错
    6. print('num是%d' % num)
    7. print('num是%f' % num)
    8. print('num是%.2f' % num)

    运行结果:

    1. C:\software\python\python.exe D:/myworkspace/test/test/test.py
    2. test是python
    3. test是py
    4. num是12345
    5. num是12345.456120
    6. num是12345.46
    7. Process finished with exit code 0

    2)format格式化输出

    用 { } 花括号作一个占位符,这种写法比较流行

    • 不指定序号,自动取匹配 {}
    • 指定下标序号去匹配 [0] [1]
    • 保留两位小数 {:.02f}
    • 百分比形式显示 {:.2%}
    1. print('{}{}{}'.format('test','是','python'))  # 常用这种写法
    2. print('{}a{}a{}'.format('test','是','python'))
    3. print('{2}{0}{1}'.format('test','是','python')) # 指定format下标

    运行结果:

    1. C:\software\python\python.exe D:/myworkspace/test/test/test.py
    2. test是python
    3. testa是apython
    4. pythontest是
    5. Process finished with exit code 0

    六、元组tuple

    1.定义

    通过()小括号来表示元组,元组中的数据可以是任意的,但元组是不可变类型的数据,元组定义之后无法修改其内部的元素

    2.元组的常见操作

    下标取值:元组内部的数据是有序的,可以通过下标取值

    注意点:

    t = () 是空元祖

    t = (1,) 只有一个数据的时候,要在末尾加一个逗号

    3.元组的方法

    count:查找元素的个数,找不到会返回0

    index:查找元素的下标,还可以指定查找范围

    1. t = () # 这是一个空元组
    2. t2 = (1,) # 只有一个元素
    3. t3 = (1, 2, 3, 'sdfg', '张三' , 'sdfg')
    4. res = t3.count('张三')
    5. res2 = t3.count('sd')
    6. res3 = t3.count('sdfg')
    7. res4 = t3.index('sdfg')
    8. res5 = t3.index('sdfg', 0, 4)
    9. print(t, t2, t3, res, res2, res3,res4, res5)

    运行结果:

    1. C:\software\python\python.exe D:/myworkspace/test/test/test.py
    2. () (1,) (1, 2, 3, 'sdfg', '张三', 'sdfg') 1 0 2 3 3
    3. Process finished with exit code 0

    七、列表list

    1.定义

    • 列表用[] 中括号表示
    • 列表内部的元素可以是任意类型
    • 列表是使用最频繁的数据类型之一

    2.列表的常见操作

    1)下标索引取值:列表内部的元素是有序的

    2)修改元素的值:列表是可变类型数据,可以通过下标修改指定位置的值

    1. li = [1, 2, 'ada', (1, 2)] # 嵌套了一个元组,整个元组是一个元素
    2. print(li[3])
    3. li[3] = (1, 2, 3)
    4. print(li)

    运行结果:

    1. C:\software\python\python.exe D:/myworkspace/test/test/test.py
    2. (1, 2)
    3. [1, 2, 'ada', (1, 2, 3)]
    4. Process finished with exit code 0

    3.列表的方法

    1)增:append、insert、extend

    1. li = ['python', 'java', 'c', 'c++', 'go', 'ruby', 'html']
    2. # 增加元素
    3. # append:往列表的最后位置增加元素
    4. li.append('php')
    5. print(li)
    6. li.append([11, 22, 33]) # 嵌套,加一个列表
    7. print(li)
    8. # insert:按指定位置插入,通过下标指定
    9. li.insert(3, 'c#')
    10. print(li)
    11. li.insert(4, '[0,1]') # 嵌套,指定位置加一个列表
    12. print(li)
    13. # extend:插入多个元素
    14. li.extend(['aa', 'bb', 'cc'])
    15. print(li)

    运行结果:

    1. C:\software\python\python.exe D:/myworkspace/test/test/test.py
    2. ['python', 'java', 'c', 'c++', 'go', 'ruby', 'html', 'php']
    3. ['python', 'java', 'c', 'c++', 'go', 'ruby', 'html', 'php', [11, 22, 33]]
    4. ['python', 'java', 'c', 'c#', 'c++', 'go', 'ruby', 'html', 'php', [11, 22, 33]]
    5. ['python', 'java', 'c', 'c#', '[0,1]', 'c++', 'go', 'ruby', 'html', 'php', [11, 22, 33]]
    6. ['python', 'java', 'c', 'c#', '[0,1]', 'c++', 'go', 'ruby', 'html', 'php', [11, 22, 33], 'aa', 'bb', 'cc']
    7. Process finished with exit code 0

    2)删:pop、remove、clear(还有一个关键字del删除)

    1. li = ['python', 'java', 'c', 'c++', 'go', 'ruby', 'html']
    2. # 删除元素
    3. # remove:删除指定元素,从前往后找,找到第一个删除,只删除第一个
    4. li.remove('python')
    5. print(li)
    6. # pop:指定下标删除,如果不传下标,默认删除最后一个,最后一个是-1
    7. li.pop()
    8. print(li)
    9. li.pop(0)
    10. print(li)
    11. # clear:清空列表的所有元素
    12. # li.clear() 这里不做运行
    13. # del:关键字(关键字删除) 把整个li列表从内存删除了
    14. # del li 这里不做运行
    15. del li[1] # 通过下标删除某一个元素
    16. print(li)

    运行结果:

    1. C:\software\python\python.exe D:/myworkspace/test/test/test.py
    2. ['java', 'c', 'c++', 'go', 'ruby', 'html']
    3. ['java', 'c', 'c++', 'go', 'ruby']
    4. ['c', 'c++', 'go', 'ruby']
    5. ['c', 'go', 'ruby']
    6. Process finished with exit code 0

    3)查:index、count

    1. li = ['python', 'java', 'c', 'c++', 'go', 'ruby', 'html']
    2. # 查询
    3. # count:计数
    4. print(li.count('python')) # 统计元素的个数
    5. # index:返回下标
    6. print(li.index('java')) # 查找元素的下标

    运行结果:

    1. C:\software\python\python.exe D:/myworkspace/test/test/test.py
    2. 1
    3. 1
    4. Process finished with exit code 0

    4)改:通过下标修改值

    1. li = ['python', 'java', 'c', 'c++', 'go', 'ruby', 'html']
    2. # 修改列表元素
    3. li[1] = 'python'
    4. print(li)

    运行结果:

    1. C:\software\python\python.exe D:/myworkspace/test/test/test.py
    2. ['python', 'python', 'c', 'c++', 'go', 'ruby', 'html']
    3. Process finished with exit code 0

    5)其他:copy、reverse、sort

    1. lii = [88,17,22,56,123,23,22,5]
    2. # copy:对列表的元素倒序显示
    3. test = lii.copy()
    4. print(test)
    5. # sort:对数值排序,默认从小到大排序
    6. lii.sort() # 从小到大排序
    7. print(lii)
    8. lii.sort(reverse=True) # 从大到小排序
    9. print(lii)
    10. # reverse:对列表的元素倒序显示
    11. lii.reverse()
    12. print(lii)

    运行结果:

    1. C:\software\python\python.exe D:/myworkspace/test/test/test.py
    2. [88, 17, 22, 56, 123, 23, 22, 5]
    3. [5, 17, 22, 22, 23, 56, 88, 123]
    4. [123, 88, 56, 23, 22, 22, 17, 5]
    5. [5, 17, 22, 22, 23, 56, 88, 123]
    6. Process finished with exit code 0

    八、序列类型的通用操作

    1.下标取值

    可以正向取,从0开始,也可以反向取,从-1开始

    2.切片

    [a:b] a代表起始位置,b终止位置,使用的是元素下标,左闭右开,需a

    [a: b : ​c] c为步长,c为负时表示反切,从后面开始切,需a>b

    1. # 内部元素按下标索引进行排序
    2. # 切片[a:b] 左闭右开
    3. # [a:b:c] 为c步长
    4. str1 = 'hello python !'
    5. str2 = ['python','java','c++','c#','go','php']
    6. str3 = (1,3,4)
    7. print(str1[1])
    8. print(str1[6:12])
    9. print(str2[6:-2])
    10. print(str1[::2]) # 毎2个元素为一步,取毎一步的第一个元素
    11. print(str1[6:12:2]) # 取到python,步长为2,最后切片结果pto
    12. # 步长为正:开始位置下标小于终止位置 a
    13. # 步长为负:开始位置下标大于终止位置 a>b
    14. print(str2[::-2]) # 从后面切起,2个元素为一步
    15. print(str2[0:5:-2]) # 这样是切不到元素的,思考一下为什么?
    16. print(str2[5:0:-2])

    运行结果:

    1. C:\software\python\python.exe D:/myworkspace/test/test/test.py
    2. e
    3. python
    4. []
    5. hlopto
    6. pto
    7. ['php', 'c#', 'java']
    8. []
    9. ['php', 'c#', 'java']
    10. Process finished with exit code 0

    3.获取元素总数

    len()

    4.统计元素个数

    count()

    1. str1 = 'asdas'
    2. li = [1,2]
    3. # len():打印元素的个数
    4. print(len(str1))
    5. print(len(li))
    6. # count():打印元素的个数
    7. print(str1.count('a'))
    8. print(li.count(1))

    5.序列类型之间的转换

    • str():可以将整个元组或列表强制转换成一个字符串(基本不用)
    • list():将元组和字符串中的每个元素拿出来,组成一个列表
    • tuple():将列表和字符串中的每个元素拿出来,组成一个元组
    1. # 序列类型之间的相互转换
    2. str1 = 'hello python !'
    3. str2 = ['python','java','c++','c#','go','php']
    4. str3 = (1,3,4)
    5. print(str(str2)) # 将整个元组或列表强制转换成一个字符串(基本不用)
    6. print(str(str3))
    7. print(list(str1)) # 将元组和字符串中的每个元素拿出来,组成一个列表
    8. print(list(str3))
    9. print(tuple(str1)) # 将列表和字符串中的每个元素拿出来,组成一个元组
    10. print(tuple(str2))

    运行结果:

    1. C:\software\python\python.exe D:/myworkspace/test/test/test.py
    2. ['python', 'java', 'c++', 'c#', 'go', 'php']
    3. (1, 3, 4)
    4. ['h', 'e', 'l', 'l', 'o', ' ', 'p', 'y', 't', 'h', 'o', 'n', ' ', '!']
    5. [1, 3, 4]
    6. ('h', 'e', 'l', 'l', 'o', ' ', 'p', 'y', 't', 'h', 'o', 'n', ' ', '!')
    7. ('python', 'java', 'c++', 'c#', 'go', 'php')
    8. Process finished with exit code 0

    总结

    今天的文章就到这里了哟,需要获得下面福利的小伙伴可以私信我关键字“资料”获取哟。

    喜欢的小伙伴不要忘记点赞收藏评论加关注哟。

    ​项目实战

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

    大型电商项目

    ​全套软件测试自动化测试教学视频

    300G教程资料下载【视频教程+PPT+项目源码】

    ​全套软件测试自动化测试大厂面经

    ​python自动化测试++全套模板+性能测试

  • 相关阅读:
    安装ora2pg遇到如下问题
    AI绘画:实例-利用Stable Diffusion ComfyUI实现多图连接:区域化提示词与条件设置
    Spring实战系列(二)Bean装配
    软件 | 快速计算网络自然连通度评估群落稳定性
    javamd5加密解密
    企业中 Docker 的 Swarm 使用及作用详解
    Python数据可视化案例
    Vue3 环境变量
    peft模型微调--Prompt Tuning
    vue3 分屏 可拖拽分屏
  • 原文地址:https://blog.csdn.net/ifling99/article/details/126275095