Python数值类型数据运算及字符串(Python自动化测试入门)
Posted 程序员小濠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python数值类型数据运算及字符串(Python自动化测试入门)相关的知识,希望对你有一定的参考价值。
本篇内容较长,介绍了Python数值类型、运算以及字符串的一些操作,逐步的学习过程中也会涉及到面试常考题,后续我会整理一篇面试常见题。
一、Python运算符
Python运算符包含算数运算符、赋值运算符、比较运算符、逻辑运算符四种
1.1 算数运算符
算数运算符就是简单的加、减、乘、除
1.1.1 加
num1 = 100
num2 = 99
sum = num1 + num2
print(sum)
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
199
1.1.2 减
num1 = 100
num2 = 99
dec = num1 - num2
print(dec)
运算结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
1
1.1.3 乘
num1 = 100
num2 = 99
mul = num1 * num2
print(mul)
运算结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
9900
1.1.4 除
num1 = 100
num2 = 99
div = num1 / num2
print(div)
运算结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
1.0101010101010102
1.2 赋值运算符
赋值运算符包含 += 、-= 、*= 、/=
1.2.1 +=
sum+=100
,即等于sum = sum + 100
其余的赋值运算符同理
1.3 比较运算符
比较运算符包含 == 、!= 、 > 、< 、>= 、<=
比较运算符的运行结果是布尔值(False、True)
num1 = 100
num2 = 99
print(num1 == num2)
print(num1 != num2)
print(num1 >= num2)
print(num1 <= num2)
print(num1 < num2)
print(num1 > num2)
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
False
True
True
False
False
True
1.4 逻辑运算符
逻辑运算符包含与(and)、或(or)、非(not)三种
逻辑运算符的运行结果也是布尔值(False、True)
1.4.1 与(and)
所有条件为真,结果才为真
user_age = int(input('请输入你的年龄:'))
user_city = input('请输入你的城市:')
res = user_age < 30 and user_city == '上海'
print(res)
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
请输入你的年龄:31
请输入你的城市:上海
False
1.4.2 或(or)
任意条件为真,则结果为真
user_age = int(input('请输入你的年龄:'))
user_city = input('请输入你的城市:')
res = user_age < 30 or user_city == '上海'
print(res)
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
请输入你的年龄:31
请输入你的城市:上海
True
1.4.3 非(not)
与实际运算结果相反
user_age = int(input('请输入你的年龄:'))
user_city = input('请输入你的城市:')
res = not(user_age < 30 or user_city == '上海')
print(res)
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
请输入你的年龄:31
请输入你的城市:上海
False
二、Python字符串操作
2.1 定义
- 单引号、双引号:定义单行字符串
- 三引号、三双引号:定义多行字符串
- 空字符串:s=‘’
- 转换成字符串:str()
注意:字符串中有单引号时(外面用双引号区分;外双内单,外单内双,内外一样用转义)
比如: s = "hello,py\\"30\\"!!"
2.2 索引取值
即通过索引获取指定位置的字符
2.2.1 顺序索引
顺序索引的下标是从0开始
s = 'hello,py33'
print(s[0])
print(s[4])
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
h
o
2.2.2 倒序索引
倒序索引的下标是从-1开始
s = 'hello,py33'
s_len = len(s) # 字符串长度
print(s[s_len-1]) # 字符串长度减1
print(s[-1]) # 倒序,字符串最后一位
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
3
3
2.3 索引切片
2.3.1 格式
- 字符串[起始索引:结束索引:步长]
- 默认起始索引为0,默认步长为1
- 左闭右开:含起始,不含结束
- 步长为正,表示正序切;步长为负,表示倒序切
- 字符串反转:[::-1] (注意:面试经常会问到这个)
s = "monty,python"
print(s[:3]) # 下标从0开始,结束下标为2,默认步长为1 [0,1,2] 取头不取尾
print(s[:]) # 下标从0开始,一直到字符串最后。步长为1
print(s[2:]) # 下标从2开始,一直到最后。
print(s[::2]) # 下标从0开始,下标+2
print(s[1::2]) # 下标从1开始,下标+2
# 如果步长是正数,正向取。如果步长是负数,倒序取。
print(s[::]) # 全取
print(s[::-1]) # 倒序 - 反转
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
mon
monty,python
nty,python
mnypto
ot,yhn
monty,python
nohtyp,ytnom
2.4 常见操作
在pycharm中输入s.之后下拉框会出来
2.4.1 查找(find)
s = "monty,python"
res = s.find(",") # 参数就是子字符串。查找结果为下标。
print(res)
res = s.find("PY") # 如果找不着,就返回-1
print(res)
res = s.find("py")
print(res)
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
5
-1
6
2.4.2 返回下标(index)
s = "monty,python"
res = s.index("t")
res2 = s.index("t",4)
res3 = s.index("th")
print(res3)
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
8
注意:当查找的字符不存在于字符串之中时,运行结果会报ValueError: substring not found
错误
2.5 拼接和截断
2.5.1 split
- 分隔符
- 指定分隔次数
- 默认就是以空格作为分隔符
s = 'keke 九三 数 水滴 小婵 秋呆呆'
res = s.split(" ")
# res = s.split() # 默认就是以空格作为分隔符
# res = s.split(" ",2) # 运行结果:['keke', '九三', '数 水滴 小婵 秋呆呆']
print(res)
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
['keke', '九三', '数', '水滴', '小婵', '秋呆呆']
2.5.2 join
- 列表当中的字符串,拼成一个字符串。列表当中的成员必须都是字符串。
- 以,号将s当中的成员拼成一个字符串。
- 用法:拼接符.join(列表) 拼接符也是字符串类型。
s = ['keke', '九三', '数', '水滴', '小婵', '秋呆呆']
new_str = "2 ".join(s)
print(new_str)
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
keke2 九三2 数2 水滴2 小婵2 秋呆呆
2.5.3 无规则拼接
举例:随意拼接两个字符串
s1 = 'hello'
s2 = 'python'
print(s1 + ',' + s2)
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
hello,python
2.6 格式化输出
2.6.1 format
格式:字符串.format():{ }
age = input("请输入你的年龄:")
height = input("你的身高:")
city = input("你的城市:")
s = "hello,大家好,我今年{}岁!".format(age)
# 用法一 每一个{}都有一个值替换
s1 = "hello,大家好,我今年{}岁,身高{},我在{}".format(age, height, city)
# 用法二
s2 = "hello,大家好,我今年{}岁,身高{},我的大学在{},我的工作城市在{}".format(age, height, city, city)
s3 = "hello,大家好,我今年{0}岁,身高{1},我的大学在{2},我的工作城市在{2}".format(int(age), height, city)
print(s1)
print(s2)
print(s3)
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
请输入你的年龄:24
你的身高:160
你的城市:成都
hello,大家好,我今年24岁,身高160,我在成都
hello,大家好,我今年24岁,身高160,我的大学在成都,我的工作城市在成都
hello,大家好,我今年24岁,身高160,我的大学在成都,我的工作城市在成都
如果输出时候的数据需要保留两位小数点,那么要使用 .2f
如下:
num1 = 100.236
s = "我今天买了个liulian,价格为{:.2f}".format(num1)
print(s)
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
我今天买了个liulian,价格为100.24
2.6.2 f表达式
f表达式只能在Python3.6以上使用
我个人比较喜欢用这种方式来格式化输出,比较简便,但是大家在使用之前一定要确保Python版本是3.6以上,不然会报错
age = input("请输入你的年龄:")
height = input("你的身高:")
city = input("你的城市:")
s = f"hello,大家好,我今年{age}岁,身高{height},我在{city}"
print(s)
运行结果:
请输入你的年龄:24
你的身高:160
你的城市:成都
hello,大家好,我今年24岁,身高160,我在成都
2.6.3 %(只需了解)
- %s(格式化字符串)
- %d()格式化整数
- %f(格式化浮点数字,可指定小数点后的精度)
age = input("请输入你的年龄:")
height = input("你的身高:")
city = input("你的城市:")
s = "hello,大家好,我今年%d岁,身高%s,我在%s" % (int(age),height,city)
print(s)
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
请输入你的年龄:24
你的身高:160
你的城市:成都
hello,大家好,我今年24岁,身高160,我在成都
2.7 转义字符
- 换行(\\n)
- 输出一个\\,即取消转义(\\)
print("D:\\\\Backup\\\\我的文档")
print(R'D:\\Backup\\我的文档') # 大小r都可以
运行结果:
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe E:/python程序小项目/day17/one.py
D:\\Backup\\我的文档
D:\\Backup\\我的文档
转义字符还有很多,这里就写了两个常用的,需要看其他的可以去官网查看具体用法。
最后,为方便大家自学软件测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。
包括软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助…..
关注我的微信公众号:【程序员小濠】就可以免费获取了~
我的软件测试交流群:175317069欢迎大家一起讨论交流,里面也有各种软件测试资料和技术交流
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
以上是关于Python数值类型数据运算及字符串(Python自动化测试入门)的主要内容,如果未能解决你的问题,请参考以下文章