小白教程
所有教程
关于
Search
172.69.59.135
172.69.59.135
参数设置
贡献
退出
操作
编辑
移动
保护
信息
历史
删除
查看“Att string format”的源代码
本页内容
上一节:
Python_func_callable
下一节:
Python3_string_len
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:format()}}[[Category:python3 built in functions|41]] = Python format 格式化函数 = [[python strings|Python 字符串]] Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。 基本语法是通过 {} 和 : 来代替以前的 % 。 format 函数可以接受不限个参数,位置可以不按顺序。 <sample title="" desc="" lang="python" hererun="1"> >>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序 'hello world' >>> "{0} {1}".format("hello", "world") # 设置指定位置 'hello world' >>> "{1} {0} {1}".format("hello", "world") # 设置指定位置 'world hello world' </sample> 也可以设置参数: <sample title="" desc="" lang="python" hererun="1"> #!/usr/bin/python # -*- coding: UTF-8 -*- print("网站名:{name}, 地址 {url}".format(name="小白教程", url="www.xiaobai.wang")) # 通过字典设置参数 site = {"name": "小白教程", "url": "www.xiaobai.wang"} print("网站名:{name}, 地址 {url}".format(**site)) # 通过列表索引设置参数 my_list = ['小白教程', 'www.xiaobai.wang'] print("网站名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必须的 </sample> 输出结果为: <sample title="" desc="" lang="python" hererun="1"> 网站名:小白教程, 地址 www.xiaobai.wang 网站名:小白教程, 地址 www.xiaobai.wang 网站名:小白教程, 地址 www.xiaobai.wang </sample> 也可以向 str.format() 传入对象: <sample title="" desc="" lang="python" hererun="1"> #!/usr/bin/python # -*- coding: UTF-8 -*- class AssignValue(object): def __init__(self, value): self.value = value my_value = AssignValue(6) print('value 为: {0.value}'.format(my_value)) # "0" 是可选的 </sample> 输出结果为: <sample title="" desc="" lang="python" hererun="1"> value 为: 6 </sample> === 数字格式化 === 下表展示了 str.format() 格式化数字的多种方法: <sample title="" desc="" lang="python" hererun="1"> >>> print("{:.2f}".format(3.1415926)) 3.14 </sample> {| class="table table-striped table-hover" !width="25%"| 数字 !width="25%"| 格式 !width="25%"| 输出 !width="25%"| 描述 |- | 3.1415926 | {:.2f} | 3.14 | 保留小数点后两位 |- | 3.1415926 | {:+.2f} | +3.14 | 带符号保留小数点后两位 |- | -1 | {:-.2f} | -1.00 | 带符号保留小数点后两位 |- | 2.71828 | {:.0f} | 3 | 不带小数 |- | 5 | {:0>2d} | 05 | 数字补零 (填充左边, 宽度为2) |- | 5 | {:x<4d} | 5xxx | 数字补x (填充右边, 宽度为4) |- | 10 | {:x<4d} | 10xx | 数字补x (填充右边, 宽度为4) |- | 1000000 | {:,} | 1,000,000 | 以逗号分隔的数字格式 |- | 0.25 | {:.2%} | 25.00% | 百分比格式 |- | 1000000000 | {:.2e} | 1.00e+09 | 指数记法 |- | 13 | {:>10d} | 13 | 右对齐 (默认, 宽度为10) |- | 13 | {:<10d} | 13 | 左对齐 (宽度为10) |- | 13 | {:^10d} | 13 | 中间对齐 (宽度为10) |- | 11 | <sample title="" desc="" lang="python" hererun="1"> '{:b}'.format(11) '{:d}'.format(11) '{:o}'.format(11) '{:x}'.format(11) '{:#x}'.format(11) '{:#X}'.format(11) </sample> | <sample title="" desc="" lang="python" hererun="1"> 1011 11 13 b 0xb 0XB </sample> | 进制 |} ^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。 + 表示在正数前显示 +,负数前显示 -; (空格)表示在正数前加空格 b、d、o、x 分别是二进制、十进制、八进制、十六进制。 此外我们可以使用大括号 {} 来转义大括号,如下实例: <sample title="" desc="" lang="python" hererun="1"> #!/usr/bin/python # -*- coding: UTF-8 -*- print ("{} 对应的位置是 {{0}}".format("xiaobai")) </sample> 输出结果为: <sample title="" desc="" lang="python" hererun="1"> xiaobai 对应的位置是 {0} </sample> [[python strings|Python 字符串]]
返回至“
Att string format
”。
上一节:
Python_func_callable
下一节:
Python3_string_len