python里format用法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
python里format用法
Python中的format用法非常重要,它可以帮助我们对输出的内容进行格式化。
本文将详细介绍Python中的format用法,包括:格式化字符串、格式化数字、格式化复杂对象等。
一、格式化字符串
在Python中,可以使用format方法对字符串进行格式化。
格式化字符串的方法是在字符串中使用花括号({})作为占位符,然后使用format方法将需要插入到占位符中的内容传递进去。
下面是一个示例:
```
name = "Jerry"
age = 20
msg = "My name is {}, I'm {} years old.".format(name, age)
print(msg)
```
输出结果为:My name is Jerry, I'm 20 years old.
在上面的代码中,我们使用format方法将name和age插入到了字符串中,并在花括号中指定了它们的位置。
除了按位置插入参数之外,我们还可以按照名称插入参数,如下所示:
```
msg = "My name is {n}, I'm {a} years old.".format(n=name, a=age)
print(msg)
```
输出结果同样为:My name is Jerry, I'm 20 years old.
除了使用花括号的基本用法之外,我们还可以使用一些占位符来控制输出格式。
例如:
- `{}`:默认占位符,不指定格式时默认为字符串。
- `{:<width>}`:左对齐,宽度为width。
- `{:^<width>}`:居中对齐,宽度为width。
- `{:>width.精度f}`:右对齐,宽度为width,精度为小数点后的数字个数。
- `{:<width,.2f}`:左对齐,宽度为width,精度为小数点后2位,千位分隔符为逗号。
示例代码:
```
num = 123.456
print("{:<10}".format(num)) # 左对齐,宽度为10
print("{:^10}".format(num)) # 居中对齐,宽度为10
print("{:>10.2f}".format(num)) # 右对齐,宽度为10,小数点后保留2位
print("{:<10,.2f}".format(num)) # 左对齐,宽度为10,小数点后保留2位,千位分隔符为逗号
```
输出结果为:
```
123.456
123.456
123.46
123.46
```
二、格式化数字
Python中的format方法不仅能够格式化字符串,还能够格式化数字。
可以使用相同的占位符来控制数字的格式。
以下是一些常用的数字格式化占位符:
- `d`:十进制整数。
- `x`、`X`:十六进制整数。
- `o`:八进制整数。
- `b`:二进制整数。
- `f`、`F`:浮点数,小数点后的数字个数由精度控制。
- `e`、`E`:科学计数法浮点型。
- `%`:百分数形式。
示例代码:
```
x = 255
print("{:d}".format(x)) # 十进制整数
print("{:x}".format(x)) # 十六进制整数(小写)
print("{:X}".format(x)) # 十六进制整数(大写)
print("{:o}".format(x)) # 八进制整数
print("{:b}".format(x)) # 二进制整数
y = 3.14
print("{:.2f}".format(y)) # 宽度为10,小数点后保留2位的浮点数 print("{:.2e}".format(y)) # 科学计数法形式的浮点数
print("{:.2%}".format(y)) # 百分数形式的浮点数,小数点后保留2位 ```
输出结果为:
```
255
ff
FF
377
11111111
3.14
3.14e+00
314.00%
```
三、格式化复杂对象
除了字符串和数字,Python的format方法还可以格式化复杂对象,例如:列表、元组、字典和对象等。
1. 列表和元组:
使用相同的占位符,可以格式化列表和元组。
示例代码:
```
lst = [1, 2, 3]
tup = (4, 5, 6)
print("list: {} {} {}".format(*lst)) # 使用*解包列表
print("tuple: {} {} {}".format(*tup)) # 使用*解包元组
```
输出结果为:
```
list: 1 2 3
tuple: 4 5 6
```
2. 字典:
使用相同的占位符,可以格式化字典。
示例代码:
```
person = {'name': 'Tom', 'age': 20}
print("My name is {name}, I'm {age} years old.".format(**person)) # 使用**
解包字典
```
输出结果为:My name is Tom, I'm 20 years old.
3. 对象:
使用相同的占位符,可以格式化对象。
示例代码:
```
class Person:
def __init__(self, name, age):
= name
self.age = age
p = Person('Jerry', 18)
print("My name is {name}, I'm {age} years old.".format(**p.__dict__)) # 使
用**解包对象的__dict__属性
```
输出结果为:My name is Jerry, I'm 18 years old.
到此,本文就介绍完了Python中的format用法,包括:格式化字符串、格式化数字、格式化复杂对象等。
希望本文对你有所帮助。