双子座自动化测试day3

python基础之list,dict与字符串

本次博客内容记录第三次自动化测试课程(2019.03.29)的主要知识点,主要包括python基础中的列表,字典及字符串常用方法的使用。

一.列表相关方法的使用

stus = ['快乐', 'kaixin','xiaohei']

# 增加
stus.append("xiaobai")
stus.append('xiaobai')
stus.insert(9,"xiaoyan")

#
# print('单个取',stus[0])
# print('最后一个',stus[-1])
# print('改之前的',stus)

#
# stus[1]='pangniu'
# print('改之后的',stus)

#
# stus.pop(0) #默认删除最后一个元素
# del stus[0] #删除指定位置的元素
# stus.remove('pangniu') #删除指定的元素

# 如果list有多个相同的元素,只会删除一个
# stus.remove('xiaobai')
# print('删完之后的',stus)

# 删除list中不存在的元素,会报错
# stus.remove('lalala')
# print('删完之后的',stus)

# 其他常用方法
count = stus.count('pangniu') #某个元素在list里面的数量
# print('count方法'count)

# stus.clear() #清空list
# new_stus = stus.copy()#复制一个原来的list

stus.reverse()# 反转

stus.sort()# 排序-升序
stus.sort(reverse=True)# 排序-降序

nums= [1, 22, 32, 434, 545, 767676]
stus.extend(nums)# 把一个list的元素加入到另外一个list里面
print('expend',stus)

result = stus.index('xiaobai')#找某个元素的下标
print('xiaobai的下标', result)

二.dict常用方法的使用

1.字典的常用方法

#用户名  密码  电话  住址

stus_info = {
    'username':'zzl',
    'password':'123',
    'money':500,
    'addr':'大连'
}

d1 = {} # 创建空字典
d1 = dict()# 创建空字典

# 增加元素
d1['name']='pangniu'
d1['age']=19
d1.setdefault('class','双子座')
#
d1.setdefault('age',28)# 使用这种方法时,key已经存在时不会修改原来的值
# 修改
d1['name'] = 'pangniu2'# 这种方法会修改原来key的值
print(d1)

# 取值
print(d1['name'])
print(d1.get('name'))

# 取不存在的key
print(d1['nam'])# 不存在时会报错
print(d1.get('name2',0)) 会返回none。增加默认值0的话会返回0

print(d1.keys())# 取到字典里所有的key
print(d1.values())# 取到字典里所有的value

# 删除
d1.pop('name')
del.d1['name']
d1.popitem()#随机删除一个元素
print(d1)
d1.clear()# 清空

d2 = {'abc':'234'}
d1.update(d2) # 把d2增加到d1中
print(d1)

2.字典的循环

# 把字典里每个用户的密码前面都加上"账号_"
    #1/循环这个字典
    #2/把value修改成value = key_ + value

users={
    'ssdd':'dssd',
    'dfdf':'fdfd',
    'dsdsds':'fdfdf',
    'fdeef':'dsoope'
}

for k in users: # 循环字典返回的是字典的key
    value = users[k]# 通过key取到value
    users[k] = '%s_%s'%(k,value)
print(users)

for k,v in users.items():
    print('%s=====>%s'%(k,v))

三.字符串的常用方法

s = 'abcccc'
result = s.strip()# 是去掉空格和换行符\n的,只能去两边的
result2 = s.strip('c')# 去掉指定符号
print(result)
print(s)
print(s.lstrip())# 去左边
print(s.rstrip())# 去右边

# 字符串是不能被修改的
q=s[-1]='d'
print(q)

print(s.count('c'))# 某个字符出现的次数

print(s.index('c'))# 找下标;不存在时报错
print(s.find('c'))# 找下标;不存在时返回-1

print(s.capitalize())# 首字母大写

print(s.upper())# 全部变成大写
print(s.lower())# 全部变成小写

print(s.replace('c','clever'))# 替换字符串
# 替换的字符串不存在
print(s.replace('d','dddd'))# 不会报错
# 替换所有空格,包括中间的
print(s.replace(' ',''))

print('abc.jpg'.endswith('.jpg'))# 判断abc.jpg是不是以.jpg结尾
print('abc'.startswith(''))# 判断abc是不是a开头


file_name = input('请上传文件,只能是zip压缩包:')
if file_name.endswith('.zip'):
    print('没问题')
else:
    print('文件格式错误')

print('欢迎登陆'.center(50,'*'))# 把字符串放在50个*中间

print('1'.zfill(5))#字符串长度不够时,自动补0

username = 'abc'
today = '2019-03-30'
s2 = '欢迎{}登陆,今天的日期时{}'
print(s2.format(username,today))# 格式化 用{}占位用format

# %s与format方式的区别
# %s按照顺序填写各项
s3 = "insert into user (username,password,"\
    "ddr,phone,class,score,sum_avg) value(%s,%s,%s,%s,%s,%s,%s,%s)"

# format可以指定名字,传值时不需按照顺序
s4 = "insert into user VALUE ({username},{password},{phone})"
new_s4 = s4.format(password='123',username='zzl',phone='13211112222')

print(new_s4)

# format_map字典格式传值
new_s4= s4.format_map({'password':123,
                     'username':'ccc',
                     'phone':110})
print(new_s4)

print('1234'.isdigit())# 判断是否为整数

print(' '.isspace())# 判断是否为空格

print(s.islower())# 判断是否为全小写
print(s.isupper())# 判断是否为全大写

print('123abc¥'.isalnum())# 判断是否有特殊符号,没有返回True

print('abc'.isalpha())# 不是数字及特殊符号时,返回True

users = 'abc,abc,xiaobai,xiaohei,xiaoming,xiaolan'
users2 = 'abc  abc xiaobai    xiaohei xiaoming xiaolan'
# szz-abc,123456
result = users.split(',')
# 按照某个字符串分割
# 把分割后的字符串放在一个list里
# 如果指定的字符串不存在,就把整个字符串放在list里面
result2 = users2.split()
print(result)
print(result2)

names = ['abc', 'abc', 'xiaobai', 'xiaohei', 'xiaoming', 'xiaolan']
f = open('names.txt','w',encoding='utf-8')# 写文件
f.write('abc') # 只能写字符串
f.close()

# join作用
    1/把list变成字符串
    2/用指定的字符串把list里面每个元素连接起来
li = ['abc', 'abc', 'xiaobai', 'xiaohei', 'xiaoming', 'xiaolan']
# # print(','.join(li))# 连接字符串(用前面指定的符号把list中的值拼接成字符串)
f = open('names.txt', 'w', encoding='utf-8')# 写文件
f.write(','.join(li)) # 把list转成字符串写入文件
# f.write(str(li))
f.close()


f = open('names.txt','r',encoding='utf-8')# 读文件
res = f.read() # 只能写字符串
print('从文件中读出来的数据是:',res)
f.close()

 

posted @ 2019-04-13 16:03  ConnieZhao  阅读(128)  评论(0编辑  收藏  举报