Python格式化字符串str.format()

Python 字符串格式化解决的问题:

  字符串格式化是为了实现字符串和变量同时输出时按一定的格式显示

  例如:" 一年有{}天,一天有{}小时 。".format(365,24)  ==>   " 一年有365天,一天有24小时。"

format()方法的基本使用:

  <模板字符串>.format(<逗号分隔的参数>)

  模板字符串由一系列占位槽组成(用{}表示),参数会按{}中的序号替换到模板字符串的槽中,如果{}没有序号,就按出现顺序替换。

  参数从0开始编号,调用format()方法会返回一个新的字符串。

1 >>> " {}: {}考试,时间{}到{} ".format("2018-10-31", "Python", "10:00", "11:40") # {}的默认顺序为 0, 1, 2,参数的顺序固定为0, 1, 2。
2 ‘2018-10-31: Python考试,时间10:00到11:40‘

  format()方法可以方便的连接不同类型的变量或内容,如果需要输出大括号,可使用  {{{ 表示 , {{表示 { ,例如:

1 >>> " {}{}{} ".format("圆周率是", 3.1415926, "...")
2 ‘ 圆周率是3.1415926... ‘
3 >>>" 圆周率{{{1}{2}}}是{0} ".format("无理数", 3.1415926, "...")
4 ‘ 圆周率{3,1415926...}是无理数 ‘
5 >>> s = " 圆周率{{{1}{2}}}是{0} "  # 大括号本身是字符串的一部分
6 >>> s
7 ‘ 圆周率{{{1}{2}}}是{0} ‘
8 >>> s.format("无理数", 3.1415926, "...")  # 调用format()时解析大括号
9 ‘ 圆周率3.1415926...是无理数 ‘

format方法的格式控制:

  format()方法中的槽除了可以包含参数序号外,还可以包含格式控制信息。

  槽的样式:

  {<参数序号>:<格式控制标记>} 

  格式控制标记用来控制参数显示时的格式。

<填充> <对齐> <宽度> <,> <.精度> <类型>
引导符号 用于填充的单个字符
<左对齐

>右对齐

^居中对齐

槽的输出宽度      

  当槽的宽度小于参数的长度时,会完整显示参数,当槽的宽度大于参数的长度时,默认用用空格填充多余部分且参数左对齐。

  

  添加使用填充字符和对齐方式(宽度为30+居中对齐+‘ * ‘填充):

  

  (宽度30+居中对齐+‘ - ‘填充):

  

   

  逗号(,):  用于显示数字类型的千分位分隔符

    

  <.精度> :  由小数点(.)开头,对于浮点数,精度表示小数部分输出的有效位数,对于字符串,精度表示输出的最大长度

  

  

  <类型>: 输出整数和浮点数的格式。

    整数类型:

     (1)b: 输出整数的二进制方式。

    (2)c: 输出整数对应的Unicode字符。

    (3)d: 输出整数的十进制方式。

    (4)o: 输出整数的八进制方式。

    (5)x: 输出整数的小写十六进制方式。

    (6)X: 输出整数的大写十六进制方式。

    

  

    浮点类型:

    (1)e: 输出小写字母e的指数形式。

    (2)E: 输出大写字母E的指数形式。

    (3)f: 输出标准浮点形式。

    (4)%: 输出%形式。

    

    浮点数输出时为了方便控制格式,应尽量采用<.精度>的方式指定小数的宽度。

   

  

  

    

原文地址:https://www.cnblogs.com/yangwu-183/p/10045353.html

时间: 2024-10-10 23:17:21

Python格式化字符串str.format()的相关文章

(增强型格式化字符串)str.format()

字符串格式化自2.6以后python提供更强大的函数str.format() # 语法 用{}代替% ## EXP 1:简单例子,关键字映射 ```python x = 1 y = "shabi" z = "wo shi {op1},{op2}".format(op1=y,op2=x) print z ``` ## EXP 2:转义{} ```python x = 1 y = "shabi" z = "wo shi {op}{{shit

Python格式化字符串%与format的区别

简介 Python中格式化字符串目前有两种方法:%和format Python2.6引入了format这个格式化字符串的方法 区别 % # 定义一个坐标值 c = (250, 250) # 使用%丑陋的格式化... s1 = "敌人坐标:%s" % (c,) # 因为c是一个元祖,所以%格式化时后面不能只写一个c format # 定义一个坐标值 c = (250, 250) # 使用format格式化 s2 = "敌人坐标:{}".format(c) 3.6的新特

Python格式化字符串~转

Python格式化字符串 在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作符,非常类似C语言里的printf()函数的字符串格式化(C语言中也是使用%). 下面整理了一下Python中字符串格式化符合: 格式化符号 说明 %c 转换成字符(ASCII 码值,或者长度为一的字符串) %r 优先用repr()函数进行字符串转换 %s 优先用str()函数进行字符串转换 %d / %i

python之字符串str操作方法

str.upper() (全部大写) str.lower() (全部小写) str.startswith() (以什么开头) str.endswith() (以什么结尾) str.count() (统计) str.replace() (替换) ***** str.strip() (除去头尾两边的空格) ***** str.lstrip() (去掉字符串左边的东西) str.rstrip() (去掉字符串右边的东西) str.split() (分割) ***** str.isdigit() (判断

Python格式化字符串知多少

字符串格式化相当于字符串模板.也就是说,如果一个字符串有一部分是固定的,而另一部分是动态变化的,那么就可以将固定的部分做成模板,然后那些动态变化的部分使用字符串格式化操作符(%) 替换.如一句问候语:“Hello 李宁”,其中“Hello”是固定的,但“李宁”可能变成任何一个人的名字,如“乔布斯”,所以在这个字符串中,“Hello”是固定的部分,而“李宁”是动态变化的部分,因此,需要用“%”操作符替换“李宁”,这样就形成了一个模板. Hello %s 上面的代码中,“%”后面的s是什么呢?其实字

Python格式化字符串的替代符与转义字符

                                               Python格式化字符串的替代符以及含义     符   号     说     明       %c  格式化字符及其ASCII码       %s  格式化字符串       %d  格式化整数       %u  格式化无符号整型       %o  格式化无符号八进制数       %x  格式化无符号十六进制数       %X  格式化无符号十六进制数(大写)       %f  格式化浮点

Python 中格式化字符串 % 和 format 两种方法之间的区别

Python2.6引入了 format 格式化字符串的方法,现在格式化字符串有两种方法,就是 % 和 format ,具体这两种方法有什么区别呢?请看以下解析. # 定义一个坐标值 c = (250, 250) # 使用%来格式化 s1 = "敌人坐标:%s" % c 上面的代码很明显会抛出一个如下的TypeError: TypeError: not all arguments converted during string formatting 像这类格式化的需求我们需要写成下面丑陋

【Python】格式化字符串和format函数

## 本文基于Python3,可能存在部分内容不适配Python2 1. 最简单的字符串的输出: str1 = 'popma is so cool' print(str1) 输出: popma is so cool 2. '%S'格式化字符串输出: 格式化字符串时,字符串中有格式符,字符串就变成一个模板了: 例如: str2 = '%s is so cool' %'popma' print(str2) 输出还是像上面的一样,可以试试看. 但是如果有多个格式符,如何处理呢?Python用一个tup

python 中的 str.format()函数

转自:http://blog.csdn.net/handsomekang/article/details/9183303 自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足.那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱. 语法 它通过{}和:来代替%. "映射"示例 通过位置 In [1]: '{0},{1}'.format('kzc',18)   Out[1]: 'kzc,18'   In [2]: '