python自动化测试第三次课-----数据类型,list,元组,切片,字典

数据类型:

1.string 字符串

1 a = 'catherine' #定义一个变量
2 print(type(a)) #type 方法可以判断这个变量的类型,带引号的一般为string类型

运行后:

1 <class 'str'>
 1 # a = ' 字  符 串 \n\n\n\n'
 2 # c = a.strip()#strip()默认去掉字符串两边的空格和换行
 3 # c = a.lstrip()#lstrip()默认去掉左边的空格和换行
 4 # c = a.rstrip()#rstrip()默认去掉右边的空格和换行
 5 # print('c...'+c)
 6 # print('a...'+a)
 7 word = 'day is a wonderfulday'
 8 print(word.strip('day'))#如果strip指定一个之,会被去掉这两个值
 9 print(word.count('a'))#统计字符串出现的次数
10 print(word.index('is'))#找该字符串的下表,如果元素找不到,会报错
11 print(word.find('z')) #如果元素找不到,显示-1
12 print(word.replace('day','DAY'))#替换字符串
13 print(word.isdigit())#判断字符串是否为醇数字
14 print(word.startswith('http:'))#判断是否以某个字符串开头
15 print(word.endswith('.png'))#判断是否以某个字符串结尾
16 print(word.upper())#变成大写
17 print(word.lower())#变成小写
18 username = 'adcdfbb'
19 print(username.isalpha())#判断字符串是否全部为字母
20 print(username.isalnum())#判断字符串是否包含字母和数字,只要有字母或数字就返回true
字符串方法

 

 

 

2.int 整数类型,数字一般都是为int类型

data = 25
print(type(data)) #一般这种定义的就是int类型

运行后:

1 <class 'int'>

pay attention to:

如果是和用户互动能够,那么input中用户输入的数字是string类型,如果要用int类型,需要强制转换

1 a = input("请输入数字:")
2 print(type(a)) #还没有转换之前,变量a的类型是str
3 #运行后
4 请输入数字:34
5 <class 'str'>

此时在第2行插入一个强制转换,就可以转换为int类型

a = input("请输入数字:")
a = int(a) #强制转换
print(type(a))
#运行后
请输入数字:35
<class 'int'>

3.float类型,即小数

1 a = 34.88
2 print(type(a)) 
3 #运行后
4 <class 'float'>
float

4.布尔类型,只有两个值 ture or false,

1  #定义两个变量 a and b
2 a = 5
3 b = 3
4 print(a<b) #a应该是大于b,而不是小于b,所以这个判断为假,即false
5 
6 #运行后
7 False
布尔类型

List

1 new_stus = ['赵','','','','']
2 #用中括号括住,可以叫:列表、list、数组、array
3 #在list中根据下标取值,下标又可以交:、索引、角标、编号,下标从0开始
4 # print(new_stus[-1])
5 #最前面一个元素的下标是0,最后面一个元素的下标是-1

list的增,删,改,查及其他方法

1 cities = [] #首先定义一个list
2 cities.append('北京')  #在列表末尾增加一个元素
3 print(cities)
4 #运行后
5 ['北京']
6 cities.insert(0,'上海') #在指定的位置增加元素,北京会向后移一个位置
7 print(cities)
8 #运行后
9 ['上海',‘北京’]
1 #删,接增加那个列表
2 cities.pop(0) #删除指定位置的元素,在增加的时候,下标是0 的数据是上海,所以执行这一句后,应该只剩下北京
3 #cities.remove('北京')#删除指定的元素
4 #cities.clear() #清空list,执行后列表清空
5 #del cities[-1] #删除指定位置的,-1是指最后一个数据
6 print(cities)
1 cities[1]='南京' #指定下标修改数据,修改的时候如果指定的下标不存在,会报错
2 # print(cities)
1 #
2 # print(cities[0])  #指定位置的
3 # print(cities.index('广州')) #获取元素的下标,如果找不到那个元素的话,会报错
4 # print(cities.count('广州'))  #查看元素在list里面出现了多少次
1 list1=[1,5,3,6,9,4]
2 list1.reverse()
3 print(list1)
4 #运行后
5 [4, 9, 6, 3, 5, 1]
反转
list1=[1,5,3,6,9,4]
list1.sort() #对列表进行升序排序,
#list1.sort(reverse=True)如果需要降序排序,可以添加reverse = TRUE
print(list1)
#运行后
[1, 3, 4, 5, 6, 9]
排序升序降序
1 list1=[1,5,3,6,9,4]
2 list2=[2,8,0]
3 print(list1+list2) #两个列表合并
4 print(list2*3)#list2复制三次
5 #运行后
6 [1, 5, 3, 6, 9, 4, 2, 8, 0]
7 [2, 8, 0, 2, 8, 0, 2, 8, 0]
合并复制
 1 #所谓二维数组,是指在一个数组中嵌套一个数组,三维数组就是数组中嵌套一个数组再嵌套一个数组
 2 list1=[1,5,3,6,9,4,[0,9,8,]] #二维数组
 3 #      0 1 2 3 4 5    6
 4 #                   0 1 2
 5 list2=[1,5,3,6,['er','hhl',[0,'jkk','opi']]]#三维数组
 6 #        0 1 2 3            4
 7 #                     0    1          2
 8 #                                   0  1    2
 9 #从数组中取值,可以根据下标取值
10 #要在list1中取到8,如下:
11 #print(list1[6][-1]) 列表中最后一个元素可以用-1表示,也可以用本身的下标2表示
12 #运行后如下
13 #8
14 =========================
15 #要在list2中取到值'jkk',同样根据下标来取
16 print(list2[4][2][1])
17 #运行后
18 jkk
二维数组,三维数组

切片----list的一种取值方式,可以一次去几个值,不再是取一个值

 1 nums = ['段佳林','陈卫亮','王占宇','李博']
 2         #  0        1       2         3
 3 # print(nums[1:3])
 4 
 5 # print(nums[0])
 6 # print(nums[1:3])  #顾头不顾尾
 7 # print(nums[1:]) #如果从某个下标开始取,取到末尾结束,那么末尾的下标可以省略不写
 8 # print(nums[:2]) #如果是从头开始取,取到后面某个下标结束,那么开头的下标可以不写
 9 # print(nums[:]) #取所有的
10 
11 lis = list(range(1,21))
12 # print(lis)
13 # print(lis[::2]) #步长,隔几个取一次
14 # print(lis[::-2]) #步长,隔几个取一次
15 # #如果步长是正数的话,从左往右边开始取值
16 # ##如果步长是负数的话,从右边往左边开始取值
17 # print(lis[::-1]) #反转list
18 # print(lis)
19 # print(lis[1::-1])
20 # print(lis[:])
21 # lis.reverse()  #改变了原来list的值
22 # new_list = lis[::-1]  #产生了新的一个list,不会改变原来list的值
23 # print(new_list)
24 # print(lis)
25 # #切片操作同样适用于字符串。
26 # info = '你好,今天天气很好'
27 # #        0 1 2 3 4 5 6 7 8
28 # print(lis)
切片

 元组---也是list的一种,区别在于,元组中的元素不能被修改

 

 1 # 元组也是一个list,他和list的区别是,元组里面元素无法修改
 2 # print(type(t))
 3 #如果元组里面 只有一个元素的话,那么你必须在这个元素后面加一个逗号
 4 t = (1,2,4,5,6,7)
 5 words=(1,)
 6 words2=('abc',)
 7 print('t',type(t))
 8 print('words',type(words))
 9 print('words2',type(words2))
10 print(t.index(2)) #找到元素的下标
11 print(t.count(2)) #找到元素的个数
元组

字典

字典是一种可变容器模型,且可存储任意类型对象。

 

字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

键必须是唯一的,但值则不必。

 1 people = {
 2     '田雨':{
 3         'age':18,
 4         'money':200000,
 5         'clothes':'100套',
 6         'hzp':'n多',
 7         'shoes':['nike','addis','lv','chanle']
 8     },
 9     '张流量':{
10         '金库':'2000w',
11         'house':['三环一套','4环2套'],
12         'cars':    {
13                 'japan':['普拉多','兰德酷路泽'],
14                 'usa':['林肯','凯迪拉克','福特'],
15                 'china':['五菱宏光','qq','红旗']
16             }
17     }
18 }

字典有两个特点:取数据方便,速度快

1 # print(infos.get('phone'))#取不到这个key的话,就是None
2 # print(infos.get('phone',110))#如果取不到这个key的话,默认就是110
3 # print(infos['phone'])#如果key不存在会报错
4 infos  =  {'name':'张流量','sex':'','addr':'火星','age':180}
1 #
2 infos['phone']=13611087045 #增加一个key
3 infos.setdefault('小金库','2000w')
4 infos.setdefault('name','鹏妹妹') #如果key存在的话,不会修改原来key里面的值
5 infos['name']='鹏妹妹' #如果key存在的话,会修改原来key对应的value
6 # print(infos)
7 #字典是无序的

如果是字典中嵌套字典,那么增加时,

1)如果key相同,需要用嵌套:

homeworks[stu_name][stu_date] =stu_work
如果key不相同,
homeworks[stu_name] = ({stu_date:stu_work})
dic = {
    1: '录入学生作业情况',
    2: '查看作业情况',
}
print('1、录入学生作业情况', '2、查看作业情况')

homeworks = {
    '张流量':
        {'2018.3.22': "未交", '2018.3.23': '已交'},
    '田雨': {'2018.3.22': "已交", '2018.3.23': '未交'},
}

choice = input('请输入你的选择:')
if choice == '1':

    for i in range(3):
        stu_name = input('学生姓名:').strip()
        stu_date = input('日期:').strip()
        stu_work = input('是否交作业:').strip()
        if stu_name =="" or stu_date=="" or stu_work=="":
            print("输入不能为空,请重新输入!")
        else:
            if stu_name in homeworks:
                homeworks[stu_name][stu_date] =stu_work
            else:
                homeworks[stu_name] = ({stu_date:stu_work})
                print('录入成功')
                print(homeworks)
elif choice == '2':
    print(homeworks)
else:
    print('输入错误')
#修改
infos['name']='鹏妹妹'
1 #删除
2 # infos.pop('name') #指定key来删除,infos是字典名
3 # infos.popitem() #随机删除一个key
4 # del infos['phone'] #指定key来删除
5 # infos.clear()  #清空字典
删除
1 #方法
2 # print(infos.values())#获取到字典所有的value
3 # print(infos.keys()) #获取到字典所有的key
4 # print(infos.items()) # 获取字典所有的k-v
方法

 ===============================================================================

 

 

 

 

 

 

转载于:https://www.cnblogs.com/bzdfxx/p/8658932.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值