Python基础二_操作字符串常用方法、字典、文件读取

一.字符串常用方法:

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+
能读、能写、不会清空以前的内容,文件不存在会创建

上一篇:EDIUS如何实现抠图


下一篇:对于C++窗口编译一闪而过的解决方法 (DEV CPP下)