Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。 基本语法是通过 {} 和 : 来代替以前的 % 。 format 函数可以接受不限个参数,位置可以不按顺序。
>> > "{} {}" . format ( "hello" , "world" )
'hello world'
>> > "{0} {1}" . format ( "hello" , "world" )
'hello world'
>> > "{1} {0} {1}" . format ( "hello" , "world" )
'world hello world'
print ( "网站名:{name}, 地址 {url}" . format ( name= "菜鸟教程" , url= "www.runoob.com" ) )
site = { "name" : "菜鸟教程" , "url" : "www.runoob.com" }
print ( "网站名:{name}, 地址 {url}" . format ( ** site) )
my_list = [ '菜鸟教程' , 'www.runoob.com' ]
print ( "网站名:{0[0]}, 地址 {0[1]}" . format ( my_list) )
网站名:菜鸟教程, 地址 www. runoob. com
网站名:菜鸟教程, 地址 www. runoob. com
网站名:菜鸟教程, 地址 www. runoob. com
class AssignValue ( object ) :
def __init__ ( self, value) :
self. value = value
my_value = AssignValue( 6 )
print ( 'value 为: {0.value}' . format ( my_value) )
value 为: 6
数字格式化
^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
join与format函数
str.join(): 将字符插入对象中间返回一个长字符串
In [ 1 ] : print ( ' and ' . join( [ 'Mary' ] ) )
print ( ' and ' . join( [ 'Mary' , 'John' ] ) )
print ( ' and ' . join( [ 'Mary' , 'John' , 'Amy' ] ) )
Out [ 1 ] : Mary
Mary and John
Mary and John and Amy
str.format(): 替换字符中间的’{}’
In [ 2 ] : print ( ' 你和{}' . format ( '我' ) )
print ( ' 你和{}和{}' . format ( '我' , '他' ) )
Out[ 2 ] : 你和我
你和我和他