一、标识符
1、标识符包括:变量、项目名、包名(文件夹)、文件名(模块名)、函数名、类名等;通俗来讲——只要在python中自己命名的都可以称之为标识符。
2、标识符的命名规范:数字、字母、下划线_组成;不能以数字开头。
在Python中,具有特殊功能的标识符称为关键字。关键字是Python语言自己已经使用的了,不允许开发者自己定义和关键字相同名字的标识符。
import keyword
print(keyword.kwlist)
3、虽然支持中文标识符,但是不要去使用。
二、字符串的表示
1、数据两边都带有:'数据' 、"数据"、"""数据"""、'''数据''';单引号、双引号、三引号。
name = "python"
print(name)
name = 'python'
print(name)
name = """python"""
print(name)
name = '''python'''
print(name)
2、多行字符串的拼接---用途:字符串过长换行拼接
lines = '第一行'+\
'第二行'
print(lines)
3、三引号表示多行字符串---用途:固定格式
lines = """第一行
第二行"""
print(lines)
4、\n表示换行符 \t水平制表符--类似于tab键
lines = '第一行\n第二行'
print(lines)
lines = '第一行\t第二行'
print(lines)
5、“r/R或者\\n”禁止使用转义符;window系统路径有反斜杠,r"c:\\dota\a\b"
lines = r'第一行\n第二行'
print(lines)
lines = """第一行\\n第二行"""
print(lines)
三、字符串的数据类型
1、type()获取某个数据的数据类型
print(type(3)) #整数
print(type("1.5")) #字符串
print(type(None)) #空值
print(type(True)) #布尔型
print(type([])) #列表
2、数据类型的转换
number = 3 #定义变量
str_number = str(number) #转化成字符串
print(type(str_number))
3、任意的数据均可转化成字符串,但是字符串不能随意转化成其他数据类型
number = "python" #定义字符串变量
int_number = int(number) #转化成整型
print(type(int_number)) #结果:转换失败
四、字符串的索引
1、索引的作用:方便精准定位到某个具体的位置
2、字符串、多个字符串起来的,索引能获得某个具体的字符串
Test = "勇敢牛牛,不怕困难!"
print(Test[0]) # TODO: 通过索引为0获取第一个字符
print(Test[-1]) # 索引可以为负数,从右边开始,-1
3、一般索引超出范围:会报错 "IndexError"
五、字符串的切片
1、切片的作用:获取字符串的某个字串,可以只有一个字符,也可以有多个。
[start:end:step] # 切片语句的表达式
2、切片—字符串[start;end] (end是包含的,不会取);简称-顾头不顾尾
vacation = "国庆节快乐!" # 定义变量
print(vacation[0:3]) # 取的第一个字符到第3个字符
print(vacation[1:4]) # 取的第二个字符到第4个字符
3、end超出范围了,是不会报错的;切片和索引超出范围是不一样的,索引会报错,切片不会。
print(vacation[0:55:3]) # end超出当前范围
4、切片的位置可以省略
print(vacation[3:]) # 结果:快乐!
print(vacation[:2]) # 结果:国庆
print(vacation[:]) # 结果:国庆节快乐!
5、字符串的复制操作
a = vacation[:]
print(a)
6、关于切片步长的操作 step也可以是负数
vacation = "国庆节快乐!" # 定义变量
print(vacation[0:100:2]) # 步长为2 结果:国节乐 0+2+2
print(vacation[::-1]) # 结果:!乐快节庆国
7、切片从右往左 从-1开始
vacation = "国庆节快乐!" # 定义变量
print(vacation[-3::]) # 结果:快乐!
print(vacation[0:-3:]) # 结果:国庆节
六、字符串的方法
1、获取字符串的长度——len()
a = "Python;is;a;great;language"
print(len(a))
2、将字符串分割存储到列表中——split()
a = "Python;is;a;great;language"
print(a.split(";")) # 注意:根据字符串里面的符号(";")
3、把一个列表拼接成一个字符串——join()
b = ['Python', 'is', 'a', 'great', 'language']
print("+".join(b)) # 空字符串也可以
4、查找——find/index(两者之前有点区别)
a = "Python;is;a;great;language"
print(a.find("python")) # 找不到字符会返回-1
print(a.index("ces")) # 找不到会直接报错 ValueError: substring not found
5、替换-replace()
b = "Python;is;a;great;language"
print(b.replace("Python","java"))
6、去除左右的空格——strip()
name = " PYTHON "
print(name.strip())
print(name.rstrip()) # 去除后空格
print(name.lstrip()) # 去除前空格
7、格式化输出——format()
name = "python"
age = 11
password = "123456" # 定义变量
# 传统的字符串拼接,建议不使用。 # 注意 age整型需要转换成字符串
print("我的名字是"+name+","+"我的年龄是"+str(age)+","+"我的密码是"+password)
# format格式化输出
print("我的名字是{1},我的年龄是{2},我的密码是{0}".format(password,name,age))
# f-string py3.6版本以上可用。直接把变量名放在花括号里面——推荐用法
print(f"我的名字是{name},我的年龄是{age},我的密码是{password}")
8、关于字符串字母大小写的转换——upper()、lower()、title()、capitalize()
# upper 字母 大写
name = "Python is a great language"
print(name.upper())
# lower 字母小写
print(name.lower())
# title每个单词首字母大写
print(name.title())
# capitalize 首字母大写
print(name.capitalize())
七、字符串在自动化测试中使用的场景
# 1、去除空格
name = "pypy py"
# 方法1:
name = name.split(" ") # 先转换成列表
print("".join(name)) # 在对列表进行拼接
# 方法2:
# print(name.replace(" ","")) # 直接对空格进行替换
# 2、格式化输出
username = "xiaobai"
password = "123456"
age = 12
user = f"""
--------------
用户名:{username}
密码:{password}
年龄:{age}
--------------
"""
print(user)
# 3、自动化访问接口的流程
# 准备接口测试用例的基本数据:请求地址,请求方法,请求参数,预期结果等等
url = input("请输入接口地址")
name = input("请输入用户名")
password = input("请输入密码")
expected = input("请输入结果")
print(f"访问接口的过程:{url}?username={name}&pass={password}")