>> template.format ("a","b","c")   "a,b " />
牛骨文教育服务平台(让学习变的简单)

零基础学python-7.7 字符串格式化方法(1)

承接上一章节,我们这一节来说说字符串格式化的另一种方法,就是调用format()

  >>> template="{0},{1} and {2}"  
  >>> template.format ("a","b","c")  
  "a,b and c"  
  >>> template="{name1},{name2} and {name3}"  
  >>> template.format (name1="a",name2="b",name3="c")  
  "a,b and c"  
 >>> template="{name1},{0} and {name2}"  
  >>> template.format ("a",name1="b",name2="c")  
  "b,a and c"  
  >>>   

这里根据上面的例子说明一下

1.替换的位置可以使用下标的来标记

2.替换的位置可以使用名称来替换

下面我们来说说,在方法里面添加属性

  >>>import sys  
  >>> "my {1[spam]} runs {0.platform}".format(sys,{"spam":  
                           "laptop"})  
  "my laptop runs win32"  
  >>>   
  >>> "my {config[spam]} runs {sys.platform}".format(sys=sys,config={"spam":"laptop"})  
  "my laptop runs win32"  
  >>>   

上面两个例子里面,第一处读取了字符串,第二处读取sys里面的platform属性

下面再举一个例子,说明在表达式里面使用偏移量

  >>> aList=list("abcde")  
  >>> aList  
  ["a", "b", "c", "d", "e"]  
  >>> "first={0[0]} third={0[2]}".format (aList)  
  "first=a third=c"  
  >>>   

注意:在使用偏移量的时候只能够是正整数,不能够使用负数,不能够使用代表区间正整数

  >>> aList=list("abcde")  
    
  >>> aList  
  ["a", "b", "c", "d", "e"]  
  >>> "first={0[0]} third={0[-1]}".format (aList)  
  Traceback (most recent call last):  
    File "", line 1, in   
      "first={0[0]} third={0[-1]}".format (aList)  
  TypeError: list indices must be integers, not str  
  >>> "first={0[0]} third={0[1:3]}".format (aList)  
  Traceback (most recent call last):  
    File "", line 1, in   
      "first={0[0]} third={0[1:3]}".format (aList)  
  TypeError: list indices must be integers, not str  
  >>>   

就说到这里,谢谢大家