千锋教育-做有情怀、有良心、有品质的职业教育机构
Python中的format方法是一种非常常用的字符串格式化方法,它可以让我们更加方便地将变量插入到字符串中,从而生成我们需要的字符串。下面我们来看一下它的基本用法:
`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_相关推荐