python 基础学习 (六)

发布于 更新于

技术文章测试开发

数据类型转换和控制流 一、能直接相互转换 str <=> int list <=> set tuple <=> set list <=> tuple

数据类型转换和控制流 一、能直接相互转换 str <=> int list <=> set tuple <=> set list <=> tuple

二、不能直接相互转换 str => tuple str=> list str ===> set

字典 一、创建【掌握】 1、通过键值对表达元素,一个键值对表示一个元素 2、key不要重复,如果重复相同的key对应的value会被覆盖 test_dict = {} test_dict = {"key1":"val1","key2":"val2"}

3、嵌套list创建字典

test_list = [('key1', 'val1'), ('key2', 'val2'), ('key3', 'val3')]
res7 = dict(test_list)
print(res7,type(res7))

4、可变数据类型不可以作为字典的key,不可变数据类型才能作为字典的key 元组可以作为字典的key test_dict2 = {('key1', 'val1'):"val1",'key2':'val2'} 5、创建字典 list1 = ['a','b','c'] #每个元素都是key list2 = [1,2,3] #整个list2是一个value res3 = dict.fromkeys(list1,list2) print(res3) #掌握,后面会再讲 res = dict(zip(list1,list2)) print(res)

二、访问 1、通过key获取对应的value,如果key不存在会报错【KeyError: 'key3'】 test_dict["key3"]

2、如果key3不存在,则返回val3 如果key3不存在,则返回val3 res2 = test_dict.get('key3','val3')

3、获取所有的key res3 = test_dict.keys()

4、获取所有的value res4 = test_dict.values()

5、获取所有的key和value res5 = test_dict.items()

三、修改 key不可以修改 不能在字典中间指定位置插入键值对(字典是无序的) value可以是任意数据类型 1、通过key修改(如果key存在就修改对应的value值,如果key不存在就会添加一个键值对) test_dict["key4"]="val4"

2、当key不存在就添加一个可以,当key存在不做任何修改 test_dict.setdefault("key1","val4")

3、合并 如果key相同则会使用test_dict1的key对应的value覆盖test_dict2中key对应的value test_dict2.update(test_dict1)

四、删除 1、通过del删除 del test_dict["key1"]

2、删除指定的key,返回对应删除的value res1 = test_dict.pop("key2")

3、删除后进栈的,后进先出,返回被删除的key,value res2 = test_dict.popitem()

4、清空字典 test_dict.clear()

使用场景:RSA加密,或者签名的时候,要求请求参数的字典序 {"key1": 1, "key2": 10, "key3": 2,"key4": 5} {"key1": 1, "key3": 2,"key4": 5,"key2": 10} 密串:公钥加密

五、排序 key=operator.itemgetter(0):通过key排序 key=operator.itemgetter(1):通过value排序 1、升序

test_dict = {"key1": 1, "key2": 10, "key3": 2,"key4": 5}
res = dict(sorted(test_dict.items(),key=operator.itemgetter(0)))

2、降序

test_dict = {"key1": 1, "key2": 10, "key3": 2,"key4": 5}
res = dict(sorted(test_dict.items(),key=operator.itemgetter(0),reverse=True))

控制流 一、什么叫流程 1、事务进行的次序就叫流程

二、python里面流程的分类 1、顺序结构:代码从上往下执行 2、选择结构:代码根据条件选择来执行 3、循环结构:代码循环执行

三、选择结构 1、单if语句

if a < 10:
print("a > 10")
print("执行完成")

2、标准的if...else语句

if a < 10:
print("a < 10")
else:
print("a >= 10")
print("执行完成")

四、debug调试 1、step over: 执行当前断点所在位置的代码,进入下一步停住 2、resume program:执行当前断点所在位置的代码,在下一个断点位置停住 3、小窗口执行代码

2022-11-14(选择结构、循环结构、range) 三、选择结构 1、单if语句

if a < 10:
print("a > 10")
print("执行完成")

2、标准的if...else语句

if a < 10:
print("a < 10")
else:
print("a >= 10")
print("执行完成")

3、复合if...elif...else 只会走一个条件语句

if num > 100:
print("num > 100")
elif 50< num <= 100:
print('50< num <= 100 : {}'.format(num))
elif 40< num <= 50:
print(f'40< num <= 50 : {num}')
else:
print(num)

4、用户输入的默认是str类型 num1 = input("请输出num:")

拓展【了解】 1、可迭代对象:能通过for循环遍历的对象为可迭代对象(创建它的类实现了,迭代协议) 2、判断对象是否是可迭代对象,返回布尔值 字符串、列表、元组、集合、字典

test_list ={1,33,3}
result = isinstance(test_list,Iterable)
print(result)

循环结构 四、for循环【掌握】 1、遍历: 将可迭代对象里面的元素依次获取出来的过程叫遍历 2、遍历字典 test_dict = {"key1":"val1","key2":"val2","key3":"val3"} #遍历key for i in test_dict: print(i) #遍历key for i in test_dict.keys(): print(i) #遍历value for a in test_dict.values(): print(a) #遍历Key和value for key,val in test_dict.items(): print(key,val) #遍历Key和value,元组 for key in test_dict.items(): print(key) print(test_dict.items())

五、while循环【掌握】 1、while循环一定要写退出条件,否则就会死循环 2、例子中while循环退出条件是num不小于10的时候就会退出循环

while num < 10:
print(num)
num += 1
print("条件不成立,循环退出",num)
while num < 20:
print(num)
num2 = random.randint(1,8)
print(f"随机数{num2}")
num += num2
print("条件不成立,循环退出",num)

六、while 循环 和for循环如何选择 1、for循环:知道循环次数就选for循环 2、while:不知道循环次数选while,一定要写退出条件

七、range函数

for index in range(0,len(test_list)):
res = test_list[index]
if res == 'c':
test_list[index]=10
print(test_list[index])
print(test_list)
print("="*20)

循环控制 1、continue: 结束本轮循环,进入下一轮循环

if i == 3:
continue
print(i)

2、break: 结束本次循环,退出循环

if i == 3:
break
print(i)

嵌套循环 for for嵌套循环

print("柠檬")
for j in range(3): #0,1,2
print("python56")
print("内层循环结束")

拓展: 99乘法表

for j in range(1,i+1): #1,2 ,3 , 4
#end=''不换行输出
print(f" {j} * {i} = {j*i}\t",end='')
print("*",end='')
#换行输出

while + for 循环嵌套‘

while num<5:
print("外层循环")
for i in range(3):
print("内存循环:",num)
num += 1

来源:testingpai

继续阅读