Python 2.6版本之后 新增了一种格式化字符串 str.format() 用{} : 代替以前%
下面列举该函数使用方法
方法一:默认顺序显示
print("{} {}".format("hello","world"))输出:hello world
方法二:设置指定顺序显示
print("{1} {0}".format("hello","world"))输出:world hello
方法三:设置参数显示
print("{str1} {str2}".format(str1 = "hello", str2 = "world"))输出:hello world
方法四:通过字典设置参数
str = {"str1": "hello", "str2": "world"} print("{str1} {str2}".format(**str))输出:hello world
方法五:通过列表索引设置参数
str = ["hello","world"] str2 = ["hello2","world2"] print("{0[0]} {0[1]} {1[0]} {1[1]}".format(str,str2))输出:hello world hello2 world2
方法六:传入对象(菜鸟教程)
class AssignValue(object): def __init__(self, value): self.value = value my_value = AssignValue(6) print('value 为: {0.value}'.format(my_value)) # "0" 是可选的输出:value 为: 6
数字格式化:(菜鸟教程)
| 数字 | 格式 | 输出 | 描述 |
|---|---|---|---|
| 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 | ‘{:b}’.format(11) | 1011 | 进制 |
| 11 | ‘{:d}’.format(11) | 11 | 进制 |
| 11 | ‘{: o}’.format(11) | 13 | 进制 |
| 11 | ‘{:x}’.format(11) | b | 进制 |
| 11 | ‘{:#x}’.format(11) | 0xb | 进制 |
| 11 | ‘{:#X}’.format(11) | 0XB | 进制 |
^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
+表示在正数前显示 +,负数前显示 -; (空格)表示在正数前加空格
b、d、o、x 分别是二进制、十进制、八进制、十六进制。
此外我们可以使用大括号 {} 来转义大括号,如下实例:#!/usr/bin/python # -*- coding: UTF-8 -*- print ("{} 对应的位置是 {{0}}".format("runoob"))输出:runoob 对应的位置是 {0}
本文详细介绍了Python2.6版本后新增的str.format()方法,包括默认顺序、指定顺序、参数设置、字典和列表索引等多种使用方式,以及数字格式化的各种技巧,如保留小数、带符号显示、进制转换等。
1万+

被折叠的 条评论
为什么被折叠?



