如何测试数据的管理
如何测试用例的设计
常见
回看
框架
同步机制问题
轻纠结
删除空格
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中列表是最常用的序列类型,具有以下特点:
- 通过索引访问元素(从0开始)
- 支持6种基本操作:索引、切片、相加、相乘、成员检查
- 可变数据类型(与元组不同)
- 字符串属于不可变序列的特殊类型
- 列表可以进行增删改查
- 列表使用[ ]括起来
列表索引说明:
- 正索引:0表示第一个元素
- 负索引:-1表示最后一个元素
列表创建示例
# 创建一个列表
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
#支持负数,用法与字符串序列相同
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()# 结果为[]
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']
序号 | 函数 | 说明 |
---|---|---|
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() |
复制列表 |