学习资料:http://docs.python.org/library/string.html#string.Formatter
感觉学习任何东西,官方的东西总是最好的,呵呵。个人总结(代码为主,相信有python基础的都能看懂):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
>>>
import
string
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.digits
'0123456789'
>>> string.hexdigits
'0123456789abcdefABCDEF'
>>> string.letters
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
>>> string.lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> string.uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.octdigits
'01234567'
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'
>>> string.whitespace
'\t\n\x0b\x0c\r
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
>>>
'{0}, {1}, {2}'
.
format
(
'a'
,
'b'
,
'c'
)
'a, b, c'
>>>
'{}, {}, {}'
.
format
(
'a'
,
'b'
,
'c'
)
# 2.7+ only
'a, b, c'
>>>
'{2}, {1}, {0}'
.
format
(
'a'
,
'b'
,
'c'
)
'c, b, a'
>>>
'{2}, {1}, {0}'
.
format
(
*
'abc'
)
# unpacking argument sequence
'c, b, a'
>>>
'{0}{1}{0}'
.
format
(
'abra'
,
'cad'
)
# arguments' indices can be repeated
'abracadabra'
>>>
'Coordinates: {latitude}, {longitude}'
.
format
(latitude
=
'37.24N'
, longitude
=
'-115.81W'
)
'Coordinates: 37.24N, -115.81W'
>>> coord
=
{
'latitude'
:
'37.24N'
,
'longitude'
:
'-115.81W'
}
>>>
'Coordinates: {latitude}, {longitude}'
.
format
(
*
*
coord)
'Coordinates: 37.24N, -115.81W'
>>> c
=
3
-
5j
>>> (
'The complex number {0} is formed from the real part {0.real} '
...
'and the imaginary part {0.imag}.'
).
format
(c)
'The complex number (3-5j) is formed from the real part 3.0 and the imaginary part -5.0.'
>>>
class
Point(
object
):
...
def
__init__(
self
, x, y):
...
self
.x,
self
.y
=
x, y
...
def
__str__(
self
):
...
return
'Point({self.x}, {self.y})'
.
format
(
self
=
self
)
...
>>>
str
(Point(
4
,
2
))
'Point(
4
,
2
)
>>> coord
=
(
3
,
5
)
>>>
'X: {0[0]}; Y: {0[1]}'
.
format
(coord)
'X: 3; Y: 5'
>>>
"repr() shows quotes: {!r}; str() doesn't: {!s}"
.
format
('test1
', '
test2')
"repr() shows quotes: 'test1'; str() doesn't: test2"
>>>
'{:<30}'
.
format
(
'left aligned'
)
'left aligned '
>>>
'{:>30}'
.
format
(
'right aligned'
)
' right aligned'
>>>
'{:^30}'
.
format
(
'centered'
)
' centered '
>>>
'{:*^30}'
.
format
(
'centered'
)
# use '*' as a fill char
'***********centered***********'
>>>
'{:+f}; {:+f}'
.
format
(
3.14
,
-
3.14
)
# show it always
'+3.140000; -3.140000'
>>>
'{: f}; {: f}'
.
format
(
3.14
,
-
3.14
)
# show a space for positive numbers
' 3.140000; -3.140000'
>>>
'{:-f}; {:-f}'
.
format
(
3.14
,
-
3.14
)
# show only the minus -- same as '{:f}; {:f}'
'3.140000; -3.140000'
>>>
# format also supports binary numbers
>>>
"int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}"
.
format
(
42
)
'int: 42; hex: 2a; oct: 52; bin: 101010'
>>>
# with 0x, 0o, or 0b as prefix:
>>>
"int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: {0:#b}"
.
format
(
42
)
'int: 42; hex: 0x2a; oct: 0o52; bin: 0b101010'
>>>
'{:,}'
.
format
(
1234567890
)
'1,234,567,890'
>>> points
=
19.5
>>> total
=
22
>>>
'Correct answers: {:.2%}.'
.
format
(points
/
total)
'Correct answers: 88.64%'
>>>
import
datetime
>>> d
=
datetime.datetime(
2010
,
7
,
4
,
12
,
15
,
58
)
>>>
'{:%Y-%m-%d %H:%M:%S}'
.
format
(d)
'2010-07-04 12:15:58'
>>>
for
align, text
in
zip
(
'<^>'
, [
'left'
,
'center'
,
'right'
]):
...
'{0:{fill}{align}16}'
.
format
(text, fill
=
align, align
=
align)
...
'left<<<<<<<<<<<<'
'^^^^^center^^^^^'
'>>>>>>>>>>>right'
>>>
>>> octets
=
[
192
,
168
,
0
,
1
]
>>>
'{:02X}{:02X}{:02X}{:02X}'
.
format
(
*
octets)
'C0A80001'
>>>
int
(_,
16
)
3232235521
>>>
>>> width
=
5
>>>
for
num
in
range
(
5
,
12
):
...
for
base
in
'dXob'
:
...
print
'{0:{width}{base}}'
.
format
(num, base
=
base, width
=
width),
...
print
...
5
5
5
101
6
6
6
110
7
7
7
111
8
8
10
1000
9
9
11
1001
10
A
12
1010
11
B
13
1011
>>>
from
string
import
Template
>>> s
=
Template(
'$who likes $what'
)
>>> s.substitute(who
=
'tim'
, what
=
'kung pao'
)
'tim likes kung pao'
>>> d
=
dict
(who
=
'tim'
)
>>> Template(
'Give $who $100'
).substitute(d)
Traceback (most recent call last):
[...]
ValueError: Invalid placeholder
in
string: line
1
, col
10
>>> Template(
'$who likes $what'
).substitute(d)
Traceback (most recent call last):
[...]
KeyError:
'what'
>>> Template(
'$who likes $what'
).safe_substitute(d)
'tim likes $what'
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
string.capitalize(word) 返回一个副本,首字母大写
>>> string.capitalize(
"hello"
)
'Hello'
>>> string.capitalize(
"hello world"
)
'Hello world'
>>> string.split(
"asdadada asdada"
)
[
'asdadada'
,
'asdada'
]
>>> string.strip(
" adsd "
)
'adsd'
>>> string.rstrip(
" adsd "
)
' adsd'
>>> string.lstrip(
" adsd "
)
'adsd '
string.swapcase(s) 小写变大写,大写变小写
>>> string.swapcase(
"Helloo"
)
'hELLOO'
>>> string.ljust(
"ww"
,
20
)
'ww '
>>> string.rjust(
'ww'
,
20
)
' ww'
>>> string.center(
'ww'
,
20
)
' ww '
string.zfill(s, width)
Pad a numeric string on the left with zero digits until the given width
is
reached. Strings starting with a sign are handled correctly.
>>> string.zfill(
'ww'
,
20
)
'000000000000000000ww'
|
==============================================================================
本文转自被遗忘的博客园博客,原文链接:http://www.cnblogs.com/rollenholt/archive/2011/11/25/2263722.html,如需转载请自行联系原作者