%r是repr %s就是str
>>> print '%r' % 'a'
'a'
>>> print '%s' % 'a'
a
>>> class Example(object):
... __repr__ = lambda cls: '<Demo>(repr)'
... __str__ = lambda cls: '<Demo>(str)'
...
>>> example = Example()
>>> print '%s'% example
<Demo>(str)
>>> print '%r'% example
<Demo>(repr)
如果想要在类中实现,可以直接重载__repr__和__str__
简单了解format(我使用的环境是python2.7),可能是3才有的特性:粘贴别人的例子,凑合看看语法就OK
#使用str.format()函数
#使用'{}'占位符
print('I\'m {},{}'.format('hello','Welcome to my space!'))
#也可以使用'{0}','{1}'形式的占位符
print('{0},I\'m {1},my E-mail is {2}'.format('Hello','spach','spach@163.com'))
#可以改变占位符的位置
print('{1},I\'m {0},my E-mail is {2}'.format('spach','Hello','spach@163.com'))
print('#' * 40)
#使用'{name}'形式的占位符
print('Hi,{name},{message}'.format(name = 'Tom',message = 'How old are you?'))
print('#' * 40)
#混合使用'{0}','{name}'形式
print('{0},I\'m {1},{message}'.format('Hello','spach',message = 'This is a test message!'))
print('#' * 40)
#下面进行格式控制
import math
print('The value of PI is approximately {}.'.format(math.pi))
print('The value of PI is approximately {!r}.'.format(math.pi))
print('The value of PI is approximately {0:.3f}.'.format(math.pi))
table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678}
for name, phone in table.items():
print('{0:10} ==> {1:10d}'.format(name, phone))
table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}
print('Jack: {0[Jack]:d}; Sjoerd: {0[Sjoerd]:d}; ''Dcab: {0[Dcab]:d}'.format(table))