3——字符串类型(增删改查)

字符串

查
st.find(字符,StartIndex,EndIndex)  # 返回查找到的字符串的索引位置,如果未找到将返回-1

st.count(字符) # 返回查找并统计这个字符串的数量 st.index(字符) # 返回查找的字符串的索引位置,如果未找到将报错,推荐使用str.find st.isdigit() # 判断当前字符串是否由纯数字组成返回True 或 False st.isalpha() # 判断当前字符串是否由纯字符组成 返回True 或 False st.islower() # 判断当前字符串的所有英文字母是否全为小写字母 返回True 或 False st.isupper() # 判断当前字符串的所有英文字母是否全为大写字母 返回True 或 False st.startswith('字符') # 判断当前字符串是否为'字符'开始 返回True 或 False st.endswith('字符') # 判断当前字符串是否为'字符'结尾 返回True 或 False

strip()删除首和尾的空格 str.lstrip() 删左首空格 str.rstrip() 删右尾空格

st.lower() 将当前字符串的英文全部修改为小写字母

st.upper() 将当前字符串的英文全部修改为大写字母

st.capitalize()如果当前字符串的第一个字符为不为空的英文字母,则将该英文字母大写,否则不进行任何操作

>>> st = 'sahdjgk'
>>> st.capitalize()
'Sahdjgk'
>>> 

st.split()以列表方式分割字符串

>>> st
'sak sdjgio jkas'
>>> st.split()
['sak', 'sdjgio', 'jkas']
>>> 

st.title()将当前字符串中的每一个分段的英文字母首字母大写

 >>> st= 'dsadasd  weqewq  dasdas,dadsadas,dasda'              
 >>> st.title()                                
 'Dsadasd  Weqewq  Dasdas,Dadsadas,Dasda' 

In [1]: st = 'akdjsoie dkjsai sjig'         
    
In [2]: st.split('j',3)          #以字符'j'来进行分割3次                                          
Out[2]: ['akd', 'soie dk', 'sai s', 'ig']

 st.replace(OldStr,NewStr,count)   文本替换,执行后将旧字符串替换为新的字符串且可以指定次数

 In [5]: st = 'sjierijer'                                                 

 In [6]: st.replace('i','gogo',1)                                         
 Out[6]: 'sjgogoerijer'

字符串的拼接   str1 + str2 + str3

In [1]: 'aaaa' + 'bbbb'

Out[1]: 'aaaabbbb'

格式化字符串 ' %s %s %s '.(str1,str2,str3)      %s是占位符

In [2]: ' %s %s ' % ('aaa','ccc')

Out[2]: ' aaa ccc '

使用join

 ’  ’.join([str1, str2, str3])

In [3]: '|||'.join(['aa','bb','cc'])

Out[3]: 'aa|||bb|||cc'

使用 format

' {} {} {} '.format(obj1,obj2,obj3)

' {0} {1} {2} '.format(obj1,obj2,obj3) #可以通过索引改变顺序

' {n0} {n1} {n2} '.format(n1=obj1,n0=obj2,n2=obj3)

 字符串格式化

了解
>>> ' %d ' %12   #数字
' 12 '
>>> ' %f ' %12.1  #浮点数
' 12.100000 '
>>> ' %c ' %97    #ASCII字符
' a '
>>> ' %o ' %9     #8进制
' 11 '
>>> ' %x ' %15    #16进制
' f '
>>> ' %e ' %15    #科学计数法
' 1.500000e+01 '
>>> 
>>> '%-6.3f'% 5456.3565
'5456.356'
>>> '%+-6.3f'% 59  #‘+’能够显示符号
'+59.000'
>>> '%5s'%'ab'   格式化长度
' ab'

掌握
>>> print( '%s' % '123' )  #以整型格式输出
123
>>> print( '%r' % '123' )  #以字符串格式输出
'123'

format了解

>>> '{:.2f}'.format(1.2222)   #保留小数点后2位
'1.22'
>>> '{n1:.2f}'.format(n1=1.2222) 
'1.22'
>>> '{n1:.2%}'.format(n1=1.2222) #百分比格式
'122.22%'
>>> '{0:x}'.format(20)  #进制转换的时候{0:进制}
'14'
>>> '{0:o}'.format(20)
'24'
>>>

' {a:<10} ’.format(a=12.3,b=13.44) 左对齐,长度为10

' {a:0<10} '.format(a=12.3,b=13.44) 数字补x (填充右边, 宽度为4)

' {a:0>10} ’.format(a=12.3,b=13.44) 右对齐...

' {a:0^10} '.format(a=12.3,b=13.44) 两边对齐...

'{{ hello {0} }}'.format('python’) 转义{和}符号

f = ' hello {0} '.format

f('python’) 这里可以把format当作一个函数来看
字符前面加上   \   ,字符就不再表示字符本身的意思,表示ASCII码中不能显示字符,常见有下:
In [1]: a = '''asdf ...: fdsa''' In [2]: a Out[2]: 'asdf\nfdsa' In [3]: print(a) #\n 换行 asdf fdsa In [4]: print('asdf\tsdf') #\t 水平制表符 asdf sdf In [5]: print('asdf\bsdf') #\b 退格 asdsdf In [6]: print('asdf\rsdf') #\r 回车,当前位置移到本行开头 sdff In [7]: print('asdf\rsdf') #\r 回车,当前位置移到本行开头 asdf\rsdf In [8]: print('asdf\'rsdf') #\’ 代表一个单引号,同样的 “ ? 等符号也可以这么输出 asdf'rsdf In [9]: print('asdf\0rsdf') #\0 代表一个空字符 asdfrsdf In [10]: print('asdf\arsdf') #\a 系统提示音 asdfrsdf In [11]: print(r'asdf\arsdf') #在python中如果要去掉字符串的转义,只需要在字符串前面加上 r asdf\arsdf

 

 

posted @ 2018-11-04 23:09  流动的数据  阅读(401)  评论(0编辑  收藏  举报