测试学习记录,仅供参考!
Python 基础知识
学习了解 API 接口自动化测试所需要的 python 基础知识点,此处仅简单介绍;
三、数据结构
python里面的数据结构主要有字符串、列表、字典、元组、集合、布尔类型
字符串
字符串的意思就是"一串字符",python 中要求字符串必须使用引号(单引号、双引号、三引号)括起来,需要两边的引号能配对;
# 字符串--通过单引号或双引号表示
str_1 = "hello world"
str_2 = 'hello world'
列表
列表 list 是多个元素的集合;可以修改;使用 中括号 []
列表赋值定义
列表变量名称=[ 元素 1,元素 2,元素 3,元素 4,元素 5,......]
多个元素之间使用","逗号隔开;
空列表定义
列表变量名称=[]
列表变量名称=list()
# 列表--通过[]表示,里面元素之间用逗号分隔
list_1 = ['boy','girl','matey']
list_2 = [1, 2, 3, 4, 5, 6]
for i in list_2:
print(i)
# 列表取值,通过索引取值--第一个索引从0开始
print(list_2[2])
# 列表数据转换,把列表的数据转换成字符串
list_str = ','.join(list_1)
print(list_str)
# 强制转换
str_2 = str(list_1)
print(str_2)
print(len(str_2))
print(type(str_2))
输出运行结果
1
2
3
4
5
6
3
boy,girl,matey
['boy', 'girl', 'matey']
24
<class 'str'>
元组
元组是多个元素的集合,但是不能修改;使用 小括号 ()
元组赋值定义
元组变量名称=(元素 1,元素 2,元素 3,元素 4,......)
空元组定义
元组变量名称=()
元组变量名称=tuple()
# 元组--通过()表示
tuple_1 = (1, 2, 3)
# 元组取值,也是通过索引取值
print(tuple_1[2])
输出运行结果
3
集合
集合是多个元素的集合,但是不能有重复元素,这是一个特性,区别于 字符串、列表和元组;
集合里面的重复元素是不会打印出来的;;使用 大括号/花括号 {}
集合赋值定义
集合遍历名称={元素 1,元素 2,元素 3,元素 4,......}
空集合定义
空集合要用面向对象的方式
集合变量名称=set()
# 元组
tuple_1 = (1, 2, 3)
# 集合--通过{}表示,但是不是键值对的形式
set_1 = {1, 2, 3}
set_2 = set(tuple_1)
print(set_1)
print(set_2)
输出运行结果
{1, 2, 3}
{1, 2, 3}
字典
字典 dict 是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据。
Python 提供了字典,字典相当于保存了两组数据,其中一组数据是关键数据,被称为 key 值,另一组数据可通过 key 来访问,被称为 value 值。
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中。
字典赋值定义
dict1={key:value,key:value,...,key:value}
空字典定义
使用大括号 {} 创建空字典:
dict2={}
使用内建函数 dict() 创建字典:
dict3=dict()
# 字典--通过{'key':'value'}键值对方式表示
dict_1 = {'a': 1, 'b': 2, 'c': 3}
dict_2 = {'name': 'xiaoming', 'age': 18}
print(dict_2)
# 字典取值,通过key值去取--若没有这个key值,则会直接报错
print(dict_1['a'])
# 字典取值,通过get方法获取字典值--若没有这个key值,则返回None异常,不会报错
print(dict_2.get('age'))
# 若没有此key值时,则返回设置的默认值(第一个参数是 key值;第二个参数是 默认值)
print(dict_2.get('b', 'error'))
# for循环迭代key值
for i in dict_2:
print(i)
# for循环迭代value值--dict_1.Key()、dict_1.values()
for i in dict_1.values():
print(i)
# 使用items()方法同时迭代 key, value
for key, value in dict_2.items():
print(key, value)
输出运行结果
{'name': 'xiaoming', 'age': 18}
1
18
error
name
age
1
2
3
name xiaoming
age 18
四、函数
在 Python 中,函数是一组可重复使用的语句块,通过使用关键字 def 定义函数;函数是执行特定任务的一段代码,程序通过将一段代码定义成函数,并为该函数指定一个函数名,即可在需要的时候多次调用这段代码;
自定义函数
函数的定义语法:
def 函数名(形参列表):
函数体(由零条或多条可执行语句组成的函数)
return 返回值
-
函数名要符合标识符定义,取名的时候要有意义,看名知义;
-
形参列表是定义该函数可以接受的参数,可以为空,多个参数之间使用逗号隔开,调用函数的地方传入对应的参数值;
-
return 返回值,返回函数的执行结果,若没有返回值可省略;
自定义函数,在python中,函数是一组可重复使用的语句块,通过使用关键字def定义函数
def hello():
# 函数体
print("Hello World")调用函数--函数名()
hello()
输出运行结果
Hello World
带参数的函数
函数形参部分,可以不定义参数,直接空括号即可;若有多个参数,可以使用 "," 逗号隔开;
在调用的时候,传入的就是实际参数,按照形参定义,顺序传入即可;
# 带参数的函数,可以接收多个参数,使用逗号分隔,参数也可以有默认值
def add_hello(a, b):
# 把a+b的结果赋值给新的变量sum
sum_1 = a + b
print(sum_1)
# 调用函数--形式参数传值的话是一一对应的,第一个值传给的是参数里面第一个参数,第二个值传给第二个参数
add_hello(10, 20)
输出运行结果
30
接收多个参数,参数也可以有默认值
有默认值时,可以不用传其参值;
没有默认值的参数务必放在有默认值参数的前面;
# 接收多个参数
def add_hi(a, b=2):
sum_2 = a + b
print(sum_2)
add_hi(10)
输出运行结果
12
当函数出现 return 时,一定是在结尾处;把结果返回出去,这个函数的使命就已经完成了,后面调用时就可以拿到这个返回值;
return一下,为什么返回值?
当返回成功后,其他地方调用此函数时,才可以得到这个返回值--若不返回,则调用时没有值;
# 函数值返回,用关键词return
def add_numbers(a, b):
sum_3 = a + b
# 函数值返回一定是放在函数体的最下面--返回之后则下面不能再写代码了,会报错
return sum_3
print(add_numbers(10, 20))
输出运行结果
30
可变数量的函数
关键字(keyword)参数
上面的实例中是位置参数,在调用的时候,必须严格按照定义函数时指定的顺序来传入参数值;
若根据参数名来传入参数值,则无需蹲守定义形参的顺序,这种方式被称为关键字(keyword)参数;
注意点:
- 在使用关键字参数的时候,顺序可以随便换;
- 部分使用关键字参数,部分使用位置参数;
- 混合使用的时候,关键字参数必须位于位置参数之后,否则会报错;
在某些情况下,程序需要在定义函数时为一个或多个形参指定默认值;这样在调用函数时就可以省略为该形参传入参数值,而是直接使用该形参的默认值;
语法格式:
形参名=默认值
# 可变数量的参数,通过 *args 或者 **kwargs 传入不确定数量的参数
def add_all(*args):
"""以一个元组的数据类型存储传递过来的数据"""
print(args)
# 通过 *args 是形式传参--其返回结果是一个元组
add_all(1, 2, 3, 4, 5, 6)
def add_all_k(**kwargs):
"""以一个字典的数据类型来存储传递过来的数据"""
print(kwargs)
# 通过 **kwargs 是关键字传参--其返回结果是一个字典
add_all_k(a=1, b=2, c=3)
输出运行结果
(1, 2, 3, 4, 5, 6)
{'a': 1, 'b': 2, 'c': 3}
未完待续。。。