Python基础—字符串(string) | logging.DEBUG 

JerryXia 发表于 , 阅读 (0)
字符串格式化

基础格式化

  • 基础格式化通常用百分号%来完成
  • 在字符串的左边放一个字符串,右侧是希望被格式化的值
  • 格式化字符串的%s部分称为转换说明符,它们标记了需要插入转换值的位置,s表示格式化为字符串,d表示格式化为整型,f表示格式化为浮点型
1
2
3
4
5
format_str = "My %s is %s"
values = ('name','wxmimperio')
print format_str % values

My name is wxmimperio

完整格式化

  • 格式化操作符的右侧可以是任意类型,如果是元组或者映射类型,那么字符串格式化将会有所不同。
  • 基本的转换说明符:
    • 1.%字符:表示格式化的开始
    • 2.转换标志:-表示左对齐,+表示在转换值之间加上正负号,””表示正数之前保留空格,0表示转换值若位数不够用0填充
    • 3.点.表示精度
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from math import pi
print "%d" % 10
print "%f" % 12.5
print "%s" % 'abc'
print "%10f" % pi
print "%10.2f" % pi
print "%.2f" % pi
print "%010.2f" % pi
print "%-10.2f" % pi
print "% d,% d" % (10,-20)
print "%+d,%+d" % (5,-30)

10
12.500000
abc
3.141593
3.14
3.14
0000003.14
3.14
10,-20
+5,-30

字符串方法


find方法

  • 可以在一个较长的字符串中查找子串,返回子串所在位置的最左索引,如果没找到返回-1
1
2
3
4
5
6
str4 = "My name is wxmimperio"
print str4.find("name")
print str4.find("we")

3
-1
  • 还可以由第二个、第三个参数指定索引范围,但不包括第二个索引位置
1
2
3
print str4.find('is',0,10)

8

join方法

  • 优雅的字符串连接方法,它是split方法的逆方法
  • 被连接的序列元素都必须是字符串
1
2
3
4
5
6
7
list1 = ['1','2','3','4','5','6']
print '+'.join(list1)
dict1 = {'a','b','c'}
print '&'.join(dict1)

1+2+3+4+5+6
a&c&b

lower、upper、title方法

  • lower将字符串全部变成小写字母后返回
  • upper将字符串全部变成大写字母后返回
  • title将字符串全部变成起始字母大写后返回
1
2
3
4
5
6
7
8
str5 = "ABCD EFG"
print str5.lower()
print str5.lower().upper()
print str5.title()

abcd efg
ABCD EFG
Abcd Efg

replace方法

  • 将某个字符串被匹配项替换后,返回替换后字符串
1
2
3
print str5.replace('A','12345')

12345BCD EFG

split方法

  • 用来将字符串分割成序列,是join的逆方法
1
2
3
4
str6 = "a+b+-c+d+e-f+g"
print str6.split("+")

['a', 'b', '-c', 'd', 'e-f', 'g']

strip方法

  • 去除两侧的空格,但不去除内侧的空格
1
2
3
4
str7 = "    1 2 3 4 5    "
print str7.strip()

1 2 3 4 5

translate方法

  • 用于同时进行多个字符串的替换
1
2
3
4
5
6
from string import maketrans
table = maketrans('abc','123')
str8 = 'abc'
print str8.translate(table)

123

参考:Python基础教程(第2版·修订版)