str.format()方法
Posted sjfgod
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了str.format()方法相关的知识,希望对你有一定的参考价值。
用法
str.format()方法会返回一个新的字符串,在新的字符串中,原字符串的替换字段(大括号中和数字是预留的替换字段)被format方法中的参数代替。
替换字段被format方法中参数代替有一下集中形式-------------------------
按照位置
- ‘{0},{1}‘.format(‘kzc‘,18) #按照替换字段中的数字带入format方法中的参数
- ‘kzc,18‘
- ‘{},{}‘.format(‘kzc‘,18) #替换字段中没有数字就按照顺序带入format方法中的参数
- ‘kzc,18‘
- ‘{1},{0},{1}‘.format(‘kzc‘,18)
- ‘18,kzc,18‘
值得注意的是,如果格式化字符串包括大括号,就需要将他复写
- >>> "{{{0}}}".format("fsdg")
- ‘{fsdg}‘
按照字段名
- >>> "{who}今年已经{age}岁了".format(who="王尼玛",age=88)
- ‘王尼玛今年已经88岁了‘
- >>> "{who}今年已经{0}岁了".format(88,who="王尼玛") #按照位置与按照字段名同时使用
- ‘王尼玛今年已经88岁了‘
按照索引
对列表
- >>> name=["王尼玛","叫兽小星","老湿"]
- >>> age=[23,34,45,567]
- >>> "{0[0]}和{0[1]}是好基友,他们已经搞基{1[3]}年了".format(name,age)
- ‘王尼玛和叫兽小星是好基友,他们已经搞基567年了‘
对字典
- >>> "{0[name]}已经{0[age]}岁了".format(stock)
- ‘王尼玛已经99岁了
按照对象
- >>> import sys
- >>> import math
- >>> "math.pi=={0.pi}sys.maxunicode=={1.maxunicode}".format(math,sys)
- ‘math.pi==3.141592653589793sys.maxunicode==1114111‘
格式规约符
字符串格式规约
格式限定符是通过{}中带:号带入的。
后面跟随的可选字符对是:
填充字符X对齐字符(<左对齐,^中间对齐,>右对齐)X可选最小宽度(如果指定最大宽度,就用句号隔开并再写一个整数)
- >>> "{0:-^10}".format("输入进去")
- ‘---输入进去---‘
- >>> "{0:.{1}}".format("66666666666666666",maxwidth)
- ‘666666666666‘
整数格式规约
格式限定符是通过{}中带:号带入的。
后面跟随的可选字符对是:
填充字符X对齐字符(<左对齐,^中间对齐,>右对齐,=用于在符号和数字之间进行填充)X"+"表示必须输出符号,"-"表示只输出负数符号," "表示正数输出空格,负数输出符号X可选#引导b(二进制)、o(八进制)、x(16进制)可选最小宽度(不能指定最大宽度)
- >>> "{0:b},{0:o},{0:x},{0:X}".format(999)
- ‘1111100111,1747,3e7,3E7‘
- >>> "{0:#b},{0:#o},{0:#x},{0:#X}".format(999)
- ‘0b1111100111,0o1747,0x3e7,0X3E7‘
- >>>
- >>> "{0:0= 4}".format(23)
- ‘ 023‘
- >>> "{0:0=-4}".format(23)
- ‘0023‘
以上是关于str.format()方法的主要内容,如果未能解决你的问题,请参考以下文章
#python str.format 方法被用于字符串的格式化输出。