python字符串总结

字符串可以通过切片的方式访问,但是不能对分片进行赋值,字符串是 不可变 的!
格式化字符串:
格式 描述 格式 描述
%% 百分号%标记(多出来的%是转义作用)    
%c 字符及其ASCII码 %s 字符串
%d 有符号整数(十进制) %u 无符号整数(十进制)
%o 无符号整数(八进制)    
%x 无符号整数(十六进制) %X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法) %E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)    
%g 浮点数字(根据值的不同自动选择%e或%f) %G 浮点数字(类似于%g,根据值的不同自动选择%E或%f)
%p 指针(用十六进制打印值的内存地址) %n 存储输出字符的数量放进参数列表的下一个变量中
一个简单的例子:
   
   
>>> import math
>>> pi
3.141592653589793
>>> print 'pi = %.5f' % pi
pi = 3.14159
如果要在格式化字符串里包括百分号,那么就必须使用 %% ,这样python就不会将%误认为是转换说明符!
(1)%字符:标记转换说明符的开始
(2)转换标志(可选):-表示左对齐;+表示转换值之前要加上正负号;空白字符表示正数之前要保留空格;0表示转换值若位数不够则用0填充
(3)最小字段宽度(可选):转换后字符串中至少要有该值指定的宽度.如果是*,则宽度会从元组中读出
(4).后面跟精度值(可选):如果转换的是实数,精度表示出现在小数点后面的位数.如果是字符串,那么该数字就表示最大字段宽度.如果是*,那么会从元组中读出.
   
   
>>> '%010f' %pi
'003.141593'
>>> '%010.2f' %pi
'0000003.14'
>>> '%-10.2f' %pi
'3.14 '
    
    
>>> '%.5s' %'hello world'
'hello'
加上空白,将在正数前面加空格,这在需要正负数对齐的时候很有用:
   
   
>>> '% 5f' % pi
' 3.141593'
字符串方法
字符串的方法特别多,列举常用如下,粗体表示常用:

#capitalize将第一个字母改为大写
print(str1.capitalize())
#casefold将所有字母改为小写
print(str1.casefold())
#将字符串居中,并且用空格将字符串填充到指定长度
print(str1.center(20))
#count返回在字符串里出现的次数
print(str1.count('o',0,13))
#encode字符串编码
#endswith查看是否以指定字符串结尾
print(str1.endswith('to'))
print(str1.endswith('too'))
#expandtabs把字符串中的tab符号转换为空格,如果不指定参数默认为8个空格
print(str1.expandtabs(4))
#find检查字符是否在字符串中,如果找到则返回字符的位置,否则返回-1
print(str1.find('you'))
#index跟find一样,不过如果找不到会返回一个异常
##字符判断函数
#isalnum()如果字符串至少有一个字符并且所有字符都是字母或者数字则返回Ture,否则返回False
#isalpha()如果字符串至少有一个字符并且所有字符都是字母则返回Ture,否则返回False
#isdecimal()如果字符串只包含十进制数字则返回True,否则返回False
#isdigit()如果字符串中只包含数字则返回True,否则返回False
#islower()如果字符串中包含至少一个区分大小写的字符,并且这些字符都是小写,则返回True,否则返回Fasle
#isupper()如果字符串中包含至少一个区分大小写的字符,并且这些字符都是大写,则返回True,否则返回Fasle
#isnumeric()如果字符串中只包含数字字符,则返回Ture,否则返回False
#isspace()如果字符串中只包含空格,则返回True,否则返回False
#istitle()如果字符串是标题花(所有的单词都是大小开始其余都是小写),则返回True,否则返回False
#join以字符串加入到字符串中作为分隔符
print(str1.join('23'))
print(str1.join('123456'))
>>> a='+'
>>> a.join('helloword')
'h+e+l+l+o+w+o+r+d'
#ijust(N)返回一个左对齐字符串,使用空格填充至N的长度新字符
#lower()将字符串转换为小写
#upper()将字符串转换为大写
#trip()返回去除两侧空格的字符串
#lstrip()去掉字符串左边的所有空格
#rtrip()去掉字符串右边的所有空格
#parition()找到字符串,把字符串分为3个元组,以sub区分
print(str1.partition('yo'))
#replace()将字符串替换为指定字符串,如果指定count,则最多不多于这么多次,默认全部
print(str1.replace('o','X',2))
#split()是join的逆方法,用来将字符串分割成序列,如果不指定分隔符,程序会把所有空格作为分隔符(空格,制表符,换行等)
>>> a='h+e+l+l+o+w+o+r+d'
>>> a.split('+')
['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'd']
>>> '/usr/local/bin'.split('/')
['', 'usr', 'local', 'bin']
#translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中,第二个参数是可选,指定需要删除的字符.
>>> from string import maketrans
>>> trantab = maketrans(' aeiou' , ' 12345' )
>>> str = "this is string example....wow!!!";
>>> print str.translate(trantab);
th3s 3s str3ng 2x1mpl2....w4w!!!
>>> print str.translate(trantab, 'xm'); #删除xm字符
th3s 3s str3ng 21pl2....w4w!!!






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值