一.字符串常用方法:
name.captitalize() #字符串首字母大写
name.center(50,'*') #字符串居中
name.count('欢') #查询次数
name.endswith('.xls') #判断字符串是否以XX结尾
name.start with('138') #判断字符串是否以XX开头
name.uper() #都变大写
name.lower() #都变小写
name.find('p') #查找元素p,找不到元素下标,不会报错,返回-1
name.index('p') #找不到元素会报错
name[1] #字符串也可根据下标来取值
name.isdigit() #判断是否为纯数字
name.isidentifier() #判断是否为合法的变量名
name.strip() #去掉字符串两边的内容,默认去掉空格和换行符
name.lstrip() #去掉左边的
name.rstrip() #去掉右边的
name.replace() #替换字符串,把前面的替换成后面的
name.zfill() #补0
name.split() #分割字符串 (把字符串变成一个list。默认是以空格和换行符分割的),传什么以什么分割
name.join() #是把list变为字符串,以某个字符串连接 eg:"lxy、zyf、wdz" print('、'.join(stus)) ----->lxy、zyf、wdz
import string
string.ascii_letters #所有的大、小写字母
string.ascii_lowercase #所有的小写字符
string.ascii_uppercase #所有的大写字符
string.digits #所有的数字
string.punctuation #所有的特殊字符
二、数组
数组循环
stus=['xyz','2','3','4']
for stu in stus:
print(stu)
切片:list取值的一种方式
stus[1:3] #顾头不顾尾 stus[:3] 如果开始的元素不写的话,就是从最前面的开始
stus[-1] #代表最后一个元素
stus[1:] #结束元素不写的话,代表最值到最后一位
stus[:] #取整个list
stus[0:11:2] #第二个:后的值代表步长,隔几个元素取一次 步长为负数,下标也要为负数
stus[:-1] #反转显示,切片同样适用于字符串
三.元组 list,但它是不可变的
元组一旦定义好,就不能再变
字符串也是一种不可变的,不能修改,想要改变就需重新赋值
s='abcEFGabc'
print(s.replace('abc',''))
print(s) --------->abcEFGabc
想要改变s的值,需重新进行赋值
s=s.replace('abc','')
print(s) ---------->EFG
a=[1,1,2,3,4,5,6,7]
for i in a:
if i%2!=0:
a.remove(i)
print(a) ---------->1,2,4,6
为什么还有1呢?
第一次循环:a=[1,2,3,4,5,6,7]
第二次循环:a[1]的值变为了2,跳过了1,所以print中有1
定义变量:a,b,c=1,2,3
#定义a,b,c三个变量,分别为1,2,3
a,b=1,2
b,a=a,b ------>交换a,b的值
b,a=a,b 不等同于b=a a=b
非空即真,非0即真,None
not的意思是取反
四.字典 k-value 字典是无序de
shenyang={'name':'沈阳','age':18}
增:
shenyang['friend']='butty'
shenyang.setdefault('home','sanhuan')
#setdefault这种方式,如果key已存在,那么就不会修改
修改:
shenyang['friend']='ugly'
删除:
shenyang.pop['friend'] #指定key删除
del shenyang['age'] #用dels删 ,key不存在时,会报错
取值:
shenyang['abc']
shenyang.get('key')
shenyang.clear() #清空字典
shenyang.popitem() #随机删除一个key
shenyang.update(yaoyuan) #把后面的字典加到前面的字典中
shenyang.valus() #全部value
shenyang.keys() #全部key
for k,v in shenyang.item():
print(k,v) #通过.item()方式循环获取k,v
高效循环字典方式:
d={'a':1,'b':2}
print(d.item())
---->dict.items([('b',2),('a',1)])
for k in d:
print(k,d,get(k))
五.文件读写
1、打开文件
2 、对他读/或者写
3、关闭文件
open() file()
1、有没有清空以前的内容
2、能不能读到东西
3、文件不存在的时候会不会报错
f = open(r'haha.txt','a+',encoding='utf-8')
print('read', f.read() ) #获取文件里面的所有内容
print('readline',f.readline()) #读取文件一行的数据
print('readllines',f.readlines()) #获取文件里面所有的数据,每一行的数据放到一个list里面
f.write('5dianban')
names = ['lxy\n','zyf\n','zxd\n','lcs\n']
for name in names:
f.write(name+'\n')
f.writelines(names) #传一个list,然后把list里面的每一个元素写入到文件中
f.seek(0)#移动文件指针到最前面
print('read',f.read())
f.close()
只读模 r 读写模式 r+
只能读,不能写,文件不存在会报错 #打开不存在的时候也会报错
写模式 w 写读模式
覆盖以前文件,里面的内容,不能读,文件不存在的话,会帮你创建一个
只要沾上r,文件不存在肯定会报错
只要沾上w,文件内容肯定会被清空
追加模式 a+
能读、能写、不会清空以前的内容,文件不存在会创建