python中format的用法例子

Python中的format方法是一种非常常用的字符串格式化方法,它可以让我们更加方便地将变量插入到字符串中,从而生成我们需要的字符串。下面我们来看一下它的基本用法:

_x000D_

`python

_x000D_

name = "小明"

_x000D_

age = 18

_x000D_

print("我叫{},今年{}岁。".format(name, age))

_x000D_ _x000D_

上述代码中,我们使用了format方法来将变量name和age插入到字符串中,生成了一句话。其中,大括号{}表示需要插入变量的位置,format方法中的参数按照顺序依次填入这些位置。

_x000D_

除了这种基本的用法,format方法还有很多其他的用法,下面我们来一一介绍。

_x000D_

## 位置参数

_x000D_

在format方法中,我们可以使用位置参数来指定需要插入的变量的位置。例如:

_x000D_

`python

_x000D_

print("我叫{0},今年{1}岁。".format(name, age))

_x000D_ _x000D_

这里,0和1分别表示需要插入的变量的位置,也就是说,name会插入到第一个大括号{}中,age会插入到第二个大括号{}中。

_x000D_

## 关键字参数

_x000D_

除了位置参数,我们还可以使用关键字参数来指定需要插入的变量的位置。例如:

_x000D_

`python

_x000D_

print("我叫{name},今年{age}岁。".format(name=name, age=age))

_x000D_ _x000D_

这里,我们使用了关键字参数来指定name和age需要插入的位置,这样可以使代码更加清晰易懂。

_x000D_

## 格式化输出

_x000D_

在format方法中,我们还可以使用一些特殊的格式化符号来控制输出的格式。例如:

_x000D_

`python

_x000D_

print("我的成绩是:{:.2f}".format(98.7654))

_x000D_ _x000D_

这里,我们使用了冒号:来指定格式化符号,.2f表示保留两位小数。输出的结果就是98.77。

_x000D_

## 对齐方式

_x000D_

在format方法中,我们还可以使用对齐方式来控制输出的对齐方式。例如:

_x000D_

`python

_x000D_

print("{:<10}".format("左对齐"))

_x000D_

print("{:^10}".format("居中对齐"))

_x000D_

print("{:>10}".format("右对齐"))

_x000D_ _x000D_

这里,<表示左对齐,^表示居中对齐,>表示右对齐。数字10表示总宽度。

_x000D_

## 填充字符

_x000D_

在format方法中,我们还可以使用填充字符来填充空白位置。例如:

_x000D_

`python

_x000D_

print("{:*<10}".format("左对齐"))

_x000D_

print("{:*^10}".format("居中对齐"))

_x000D_

print("{:*>10}".format("右对齐"))

_x000D_ _x000D_

这里,*表示填充字符,<表示左对齐,^表示居中对齐,>表示右对齐。数字10表示总宽度。

_x000D_

## 格式化字典

_x000D_

在format方法中,我们还可以使用字典来进行格式化。例如:

_x000D_

`python

_x000D_

person = {"name": "小明", "age": 18}

_x000D_

print("我叫{name},今年{age}岁。".format(**person))

_x000D_ _x000D_

这里,我们使用了两个星号**来表示将字典person中的键值对作为关键字参数传递给format方法。

_x000D_

## 格式化类

_x000D_

在format方法中,我们还可以使用类来进行格式化。例如:

_x000D_

`python

_x000D_

class Person:

_x000D_

def __init__(self, name, age):

_x000D_

self.name = name

_x000D_

self.age = age

_x000D_

person = Person("小明", 18)

_x000D_

print("我叫{name},今年{age}岁。".format(**person.__dict__))

_x000D_ _x000D_

这里,我们使用了类Person来创建一个person对象,然后使用__dict__方法将其转换为字典,再将其作为关键字参数传递给format方法。

_x000D_

## 扩展问答

_x000D_

1. format方法和%格式化字符串有什么区别?

_x000D_

format方法和%格式化字符串都是用来格式化字符串的方法,但是format方法更加灵活,支持更多的格式化方式。format方法还可以通过位置参数和关键字参数来指定需要插入的变量的位置,这样可以使代码更加清晰易懂。

_x000D_

2. format方法中的冒号:有什么作用?

_x000D_

冒号:可以用来指定格式化符号,从而控制输出的格式。例如,.2f表示保留两位小数,<表示左对齐,^表示居中对齐,>表示右对齐。

_x000D_

3. format方法中的填充字符有什么作用?

_x000D_

填充字符可以用来填充空白位置,从而使输出的字符串更加美观。例如,*表示填充字符,<表示左对齐,^表示居中对齐,>表示右对齐。

_x000D_

4. format方法中如何格式化日期和时间?

_x000D_

可以使用datetime模块中的strftime方法来格式化日期和时间,然后将其作为变量传递给format方法。例如:

_x000D_

`python

_x000D_

from datetime import datetime

_x000D_

now = datetime.now()

_x000D_

print("现在是{:%Y-%m-%d %H:%M:%S}".format(now))

_x000D_ _x000D_

这里,%Y表示年份,%m表示月份,%d表示日期,%H表示小时,%M表示分钟,%S表示秒钟。

_x000D_

5. format方法中如何格式化货币?

_x000D_

可以使用locale模块中的currency方法来格式化货币,然后将其作为变量传递给format方法。例如:

_x000D_

`python

_x000D_

import locale

_x000D_

locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')

_x000D_

money = 1234.56

_x000D_

print("价格是{:n}".format(money))

_x000D_ _x000D_

这里,{:n}表示将money格式化为货币形式。

_x000D_
申请14天超长免费试听资格
获取500G教程资料
姓名
电话
课程
立即申请