一. 字符串常用方法:
- 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+
能读, 能写, 不会清空以前的内容, 文件不存在会创建
来源: http://www.bubuko.com/infodetail-2638348.html