字符串格式化使用字符串格式化操作符%来实现:格式化字符串 % 值(字符串或者数字或者多个值的元组,字典)
format = "hello, %s. %s are a good gril" values = ('zyj' ,'you') print(format % values)
若字符串中包含%,则需要%%进行处理
format1 = 'percent:%.2f%%' values = 10.123 print(format1 % values)
可选参数:
参数1:转换标志:- 表示左对齐,默认为右对齐; + 表示在转换之前加上正负号; ''空白字符表示正数之前保留空格;0表示转换值若位数不够用0填充
参数2:最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从元组中提取
参数3:.后跟精度值:若为实数,精度值表示出现在小数点后的位数,若为字符串,那么该数字表示最大字段宽度。若是*精度将从元组中读出
print('%x' % 16) print('%o' % 8) print('%s' % 'hello') print('%r' % '42L') from math import pi print('%10f' % pi) print('%10.2f' % pi) print('%.2f' % pi) print('%10.5s' % 'hello,world') format = '%*.*s' values = 'hello,world' print(format % (10,5,values)) print('%010.2f' % pi) print('%-10.2f' % pi) print(('% 5d' % 10) + '\n' +('% 5d' % -10)) print(('%+5d' % 10) + '\n' +('%+5d' % -10))
举例:在屏幕上打印九九乘法表:
print("九九乘法表:") for x in range(1, 10): for y in range(1, x + 1): format1 = "%2d%s%-d%s%2d" tuple1 = (x, ' * ', y, ' = ', x * y) print(format1 % tuple1, end='') print(" " * 4, end='') print("\n")
find :在较长的字符串中查找子串。返回子串所在位置的最左端索引。如果没有找到返回-1
此方法可以接收可选的起始点和结束点参数;注意:包含第一个索引,但不包含第二个索引
subject = "hello,world" print(subject.find('world',2))
join:用来连接序列中的元素,需要被连接的序列元素都必须是字符串。
dirs ='','usr','bin','env' print('/'.join(dirs)) print('\\'.join(dirs)) ipAddr = ['12','1','1','1'] netMask = ['255','255','255','0'] print('.'.join(ipAddr)+' '+'.'.join(netMask))
split:将字符串分割成序列,方法中可以不提供分隔符。程序会把所有的空格作为分隔符
print("I love you".split()) print(list("I love you")) print(tuple("I love you")) print('1+2-3+5'.split('+'))
lower:返回字符串的小写字母,在‘不区分大小写’的时候,进行存储和查找。
string1 = 'HELLO,WORLD' print(string1.lower()) print('hello' in string1.lower())
title:字符串中的所有字母的首字母大写。
title1 = 'jave script' print(title1.title())
string模块的capwords函数
import string print(string.capwords("jave script"))
replace:返回某字符串的所有匹配项均被替换之后得到的字符串
string2 = 'this is a test' print(string2.title().replace('is','at')) print(string2)
strip:返回去除字符串两侧空格,可以增加参数以去掉特定的字符
string3 = ' show memory -more- ' print(string3.strip()) psws = ['a','b'] psw = 'a ' print(psw in psws) print(psw.strip() in psws) string4 ='####!!!!*****happy birthday to you*****####!!!!' print(string4.title().strip('#!')) print(string4.title().rstrip('!#')) print(string4.title().lstrip('!#')) string5 ='####!!!!###!!!####!!!!' print(string5.strip('#!'))
translate:替换字符串中的某些部分,只能处理单个字符;如替换因平台而异的特殊字符。