python 中的%s和%r、str.format()函式
阿新 • • 發佈:2018-12-30
%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','[email protected]')) #可以改變佔位符的位置 print('{1},I\'m {0},my E-mail is {2}'.format('spach','Hello','
[email protected]')) 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))