前言:

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

一、数值类型

数值类型有四种:

1)整数(int):整数

2)浮点数(float):小数

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

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

二、算数运算符

三、random模块

使用时需要导入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
53Process finished with exit code 0

四、序列类型

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

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

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

五、字符串str

1.定义

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

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

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

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

2.字符串的常见操作

  • 字符串的拼接: +
  • 字符串的输出:print(),输出多个不同的数据用逗号隔开
  • 字符串转义:\n换行 , r 防止转义
  • 下标取值:[],默认下标从0开始,0,1,2.....,如果从后面倒序开始取,就是-1,-2,-3......
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
这是测试换行
的字符串
!@$#%#&"""这是防止转义的字符串
bProcess finished with exit code 0

3.字符串的常用方法

1)join字符串拼接

str1 = '000'
str2 = str1.join(('zhangsan','nan','18')
print(str2)
# 输出结果
# zhangsan000nan00018str3 = ' '.join(str1)
print(str3)
# 输出结果
# 0 0 0

2)find查找元素

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

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

3)count统计元素个数

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

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

4)replace替换字符

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

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

5)split字符串分割

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

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

6)upper、lower大小写

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

str1 = 'asdfgh'
print(str1.upper())str2 = 'SDFGG'
print(str2.lower())# 输出结果
ASDFGH
sdfgg

7)strip去除空格换行符

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

str1 = ' asrfaada '
print(str1.strip())# 输出结果
# asrfaada

4.字符串格式化输出

1)传统格式化输出%

  • 输出整数 %d
  • 输出浮点数 %f
  • 指定输出小数点位数 %.2f (保留小数点后2位)
  • 输出字符串 %s
  • 字符串截取 %.2s (保留两个长度的字符串)
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.46Process finished with exit code 0

2)format格式化输出

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

  • 不指定序号,自动取匹配 {}
  • 指定下标序号去匹配 [0] [1]
  • 保留两位小数 {:.02f}
  • 百分比形式显示 {:.2%}
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

六、元组tuple

1.定义

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

2.元组的常见操作

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

注意点:

t = () 是空元祖

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

3.元组的方法

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 3Process finished with exit code 0

七、列表list

1.定义

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

2.列表的常见操作

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

3.列表的方法

1)增:append、insert、extend

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

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

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

3)查:index、count

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
1Process finished with exit code 0

4)改:通过下标修改值

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

5)其他:copy、reverse、sort

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

八、序列类型的通用操作

1.下标取值

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

2.切片

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

[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<b
# 步长为负:开始位置下标大于终止位置 a>bprint(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

3.获取元素总数

len()

4.统计元素个数

count()

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

5.序列类型之间的转换

  • str():可以将整个元组或列表强制转换成一个字符串(基本不用)
  • list():将元组和字符串中的每个元素拿出来,组成一个列表
  • tuple():将列表和字符串中的每个元素拿出来,组成一个元组
# 序列类型之间的相互转换
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

总结

文章就写到这里了,希望对于正在学习python自动化测试的小伙伴能够有所帮助,喜欢的小伙伴可以一键三连哟,笔者每天都会更新不同的文章,希望大家能多多支持。

自动化测试之什么是python基础基本数据类型数值类型及序列类型相关推荐

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

    文章末尾给大家留了大量的福利 前言 大家都知道学习软件测试需要必须要掌握一门开发语言,对于测试小白来说我们都是推荐python进行学习,因为比较简单,那么今天笔者想给大家唠唠python语言的基本数据 ...

  2. python自动化办公入门书籍-Python如此神奇,让繁琐工作自动化 (文中含Python基础)...

    原标题:Python如此神奇,让繁琐工作自动化 (文中含Python基础) "你在2个小时里完成的事,我们3个人要做两天."21世纪早期,我的大学室友在一个电子产品零售商店工作.商 ...

  3. Python基础之数据类型(一)

    Python基础之数据类型(一) 一.数据类型种类 二.int类型 三.float类型 1.float介绍 2.float简单示例 三.bool类型 1.布尔值为true 2.布尔值为false 四. ...

  4. Python基础之数据类型II

    Python基础之数据类型II 3.List(列表) 引子 我们现在已经学过的基础数据类型: int float str bool,str类型可以帮我们存储少量的数据,但是str有什么缺点? str存 ...

  5. python基础之数据类型III

    python基础之数据类型III 5.Dictionaries(字典) 5.1字典的认识 引子 我已经讲过的数据类型 int float str bool tuple list,我们讲的列表的数据类型 ...

  6. 1. Python基础之数据类型与注释

    文章目录 Python基础之数据类型与注释 1.变量 2.数据类型 2.1 Number类型 Int 整型 Float 浮点型 2.2 Bool 布尔类型 2.3 String 字符串类型 2.4 L ...

  7. 怎样用python自动化办公_会python基础,如何学习自动化办公?

    Python 自动化,爽爽的解决 本课程完全让你摒弃重复率高,机械操作的劳动,解放双手,自动化办公,比如Excel表的各种计算,合并,比对,尤其是跨表,大量数据的,连Excel打开都费劲的,Pytho ...

  8. 【python基础】——数据类型(列表、字典、集合)

    骏马金龙--python语法基础 python基础 变量与运算 符号 // % ** 意义 整除 整除取余 幂次方 数据种类 #mermaid-svg-7nSRRijcYFCYwTDr .label{ ...

  9. python基础之数据类型-面向对象

    人生苦短,Python當歌! 此篇博客是本人学习python过程中,总结的基础知识点,希望可以帮到有需要的朋友,如有不足或错误之处,希望评论指出,感谢大家!! 第一章 计算机基础 1.1 硬件 ​ 计 ...

最新文章

  1. 军团要塞2正版服务器,专用服务器配置 - Official TF2 Wiki | Official Team Fortress Wiki
  2. Python多线程(1)——介绍
  3. 前端基于gulp后端基于freemarker的工作流程总结
  4. 静止的人如何看待高速运动的球?
  5. 元祖python_python---tuple元祖
  6. scp构造端口_指定端口号的scp
  7. idea 关联jdk源码_[项目源码]ERP进销存系统
  8. css无效 https_【CSS非全解02】CSS基础-文档流
  9. GitHub遭遇史上最强DDoS攻击:峰值流量1.35Tbps!
  10. 网盘纷纷“隐退” 云存储仍是刚需
  11. 前端HTML学习之案例--学生信息表
  12. 使用uniapp的editor组件,图片上传预览等各种功能菜单的使用
  13. Java spring boot 开发中控Live10R指纹采集器linux(指纹登录系统)
  14. 手机输入法emoji、颜文字存储
  15. Manjaro蓝牙连接问题
  16. 标题怎样选择适合自己的导图结构
  17. 复盘:购物中心这个生态
  18. 林业调查规划设计资质怎么办理?
  19. 三氟磺隆(CAS 82097-50-5)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  20. 超融合一体机概述及优势

热门文章

  1. 【水果识别】基于计算机视觉实现橙子数量识别含Matlab源码
  2. vs2015 dynamicweb11-1 .NET PET SHOP宠物商店完整项目代码
  3. 怎样做一名成功的推销员
  4. chrome的vimium和stylist ----还有 change colors
  5. java udp聊天_Java UDP实现聊天功能代码
  6. Java 使用JNative调用dll出现tomcat服务异常停止
  7. 主流CPP开发环境工具(上)-尹成-专题视频课程
  8. python脚本工作实例
  9. 李开复给中国学生的第五封信:致学生的父母
  10. [渝粤教育] 西南科技大学 供用电网络的继电保护 在线考试复习资料