如何测试数据的管理

如何测试用例的设计

常见

回看

框架

同步机制问题

轻纠结

删除空格

s = "Hello World"
s_no_spaces = s.replace(" ", "")  # 删除所有空格
print(s_no_spaces)  # 输出: "HelloWorld"

只删除两端空格

s  = " Hello World "  
s_trimmed = s.strip()  
print(s_trimmed)

字符串去除空白字符
使用strip()、Istrip()、 rstrip()方法。

类 对象

class student(object)
	def __init__(self, name, age):  # 修正init拼写并补全括号
	    self.name = name
	    self.age = age
    
one = student(name="wangjing", age=15)  # 修正参数格式和引号匹配

字符串大小写转换
使用lower()、 upper()、capitalize()、title()等方法。

s = "Hello, World!"
print(s.lower())       # 输出: 'hello, world!'  小写
print(s.upper())       # 输出: 'HELLO, WORLD!'  大写
print(s.capitalize())  # 输出: 'Hello, world!'  首字母大写 
print(s.title())       # 输出: 'Hello, World!'  单词首字母大写
# 数据替换  
first = 'dai ti huan de zi fu chaun'  
# 替换了空格,replace参数说明:第一个参数是待替换的字符串,第二个参数是替换的字符串,第三个参数是替换的次数,默认为全部替换
second = first.replace(' ', '')  
print(second)

改函数不改变原本的字符串,只是新创建了一个内存空间

# 使用decimal进行计算  
from decimal import Decimal  
a = Decimal('0.1')  
b = Decimal('0.2')  
c = a  
print(a + b)

布尔型可以参与数字运算:

布尔型(bool)
子类于整型,值仅True(1)和False(0),可直接参与数
学运算

True + 5 # 结果为 6

显式类型转换

int(x):转为整型(截断小数)
float(x):转为浮点型
complex(x) / complex(x,y):转为复数
int(3.9) #3
float(5) # 5.0
complex(2) # (2+0j)

a = 1  
b = str(a)  
print(type(b))

Python3 列表

Python中列表是最常用的序列类型,具有以下特点:

  1. 通过索引访问元素(从0开始)
  2. 支持6种基本操作:索引、切片、相加、相乘、成员检查
  3. 可变数据类型(与元组不同)
  4. 字符串属于不可变序列的特殊类型
  5. 列表可以进行增删改查
  6. 列表使用[ ]括起来

列表索引说明:

列表创建示例

# 创建一个列表  
list1 = [1, 2, 3, 4, 5]  
list2 = []  
list3 = [1, 2, 3, 4, 5, '6']  
  
print([x for x in range(10)])

# 创建100以内的所有偶数列表  
  
print([i for i in range(0,100,2)])  #列表推导式
# 二维列表取值  
list5 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]  
print(list5[0][1])

列表的排序

print(sorted(list1))
print(sorted(list1,reverse=True))  #降序排列
#sort 排序并且打印结果  默认从小到大排列,同样有一个reverse参数
print(list1)  
list1.sort()  
print(list1)

sorted相当于创建了一个新的list对象, 不对原本列表进行修改

列表的切片, 删除, 修改

切片

list3=[3,2,5,1,8,9]  
#排序  
print(list3[0:4:2])
print]
print-3] 从后往前数,步长为3
#支持负数,用法与字符串序列相同

#在最后增加一个元素,使用append

bask = ['科比.布赖恩特', '女兆日月', 'zhe shi yi ge ce shi ming zi']  
bask2 = ['小牛.乔丹', '小牛.乔丹', '小牛.乔丹', '小牛.乔丹', '小牛.乔丹']
bask.append('小牛.乔丹')  
print(bask)
# 添加一组元素
bask.append(bask2)  

extend把一个表里面的所有元素添加到另一个表中,

# extend可以向列表中添加多个元素  
a = [1, 2, 3]  
b = [4, 5, 6]  
a.extend(b)  
print(a)

删除

del是一个关键字可以删除指定索引的元素

del a[1]  # 删除索引为1的元素

del a  # 删除整个列表
删除多个元素
del my_list[1:3] #删除索引为1到2的元素,结果为[1,4,5]

修改

# 通过索引对列表进行修改
bask[1] = '阿门。汤普森'

数据的计数

bask2 = ['小牛.乔丹', '小牛.乔丹', '小牛.乔丹', '小牛.乔丹', '小牛.乔丹']  
print(bask2.count('小牛.乔丹'))

列表的拼接操作

list1=[1,2,3,4]
list2= [3,4,5,6]
print(list1+list2)
#运行结果: [1,2,3,4,3,4,5,6]
print(list1)
#运行结果:[1,2,3,4]
print(list2)
#运行结果: [3,4,5,6]

extend vs append

lst1 = [1, 2, 3]
lst2 = [4, 5]

lst1.append(lst2)   # 结果: [1, 2, 3, [4, 5]] (添加整个列表作为单个元素)
lst1.extend(lst2)   # 结果: [1, 2, 3, 4, 5]  (展开列表并逐个添加元素)

remove 该方法用来删除指定的元素。仅删除第一个匹配到的元素

name = ['王小贱', '王大贱', '王宝器', '王小贱']  
name.remove('王小贱') #该方法用来删除指定的元素。仅删除第一个匹配到的元素

使用pop方法删除指定的元素

#pop达到删除的效果, 只是将数据从列表中弹出, 弹出的数据还保存在内存空间中.

name = ['王小贱', '王小贱', '王大贱', '王宝器']
# pop方法会删除并返回指定位置的元素(默认最后一个),数据仍保留在内存中
a = name.pop(2)  # 移除索引为2的元素
print(name)  # ['王小贱', '王小贱', '王宝器']
print(a)     # '王大贱'
# pop() 方法详解
name_list = ['张三', '李四', '王五']

# 1. 默认删除并返回最后一个元素
last_element = name_list.pop()
print(last_element)  # 输出: '王五'
print(name_list)     # 输出: ['张三', '李四']

# 2. 删除指定索引的元素
removed = name_list.pop(0)  # 删除索引0的元素
print(removed)  # 输出: '张三' 
print(name_list)  # 输出: ['李四']

# 3. 特性说明
# - 会修改原列表
# - 返回被删除的元素
# - 如果索引超出范围会抛出IndexError
# - 常用在栈结构操作中(LIFO)

使用 clear()方法(列表还在,只是清空列表)
clear()方法用于删除列表中的所有元素。
my_list = [1, 2, 3, 4, 5]
my_list.clear()# 结果为[]

Pasted image 20250507164958.png

python表达式
反转操作:

# 原地反转列表,不返回新列表
numbers = [3,5,1,2,9,6]
numbers.reverse()  
print(numbers)  # 输出: [6,9,2,1,5,3]

names = ['Mark','Frank','Eliot','Tina','Anna']
names.reverse()
print(names)    # 输出: ['Anna','Tina','Eliot','Frank','Mark']

Pasted image 20250507165512.png

序号 函数 说明
1 len(list) 列表元素个数
2 max(list) 返回列表元素最大值
3 min(list) 返回列表元素最小值
4 list(seq) 将元组转换为列表

列表常用方法

方法 说明
list.append(obj) 在列表末尾添加新对象
list.count(obj) 统计元素出现次数
list.extend(seq) 追加另一个序列的多个值(扩展原列表)
list.index(obj) 返回第一个匹配项的索引位置
list.insert(index, obj) 在指定位置插入对象
list.pop([index=-1]) 移除并返回指定位置元素(默认最后一个)

insert()给列表添加元素,需要指定添加的下标位置。

列表常用方法总结

序号 方法 描述
7 list.remove(obj) 移除列表中某个值的第一个匹配项
8 list.reverse() 反向列表中元素
9 list.sort(key=None, reverse=False) 对原列表进行排序
10 list.clear() 清空列表
11 list.copy() 复制列表