当前分类:python>>正文

Python的.format方法:让你的输出更灵活自由

来源:互联网   更新时间:2023年8月5日  

Python 笔记

一、.format方法的原理

.format方法是一种字符串格式化的方法,它可以将需要输出的内容填充进格式化的字符串中,并生成一个新的字符串。其中,格式化字符串通常包含了用花括号{}指示的占位符,这些占位符可以按照顺序或者关键字来对应传入的参数,也可以指定格式,比如数字、日期等,以及字符串的对齐方式等。这种字符串格式化的方式相比传统的字符串拼接有了许多优势,不仅使代码更加清晰易读,也使得输出内容更加灵活自由。

二、基本用法

使用.format方法进行字符串格式化很简单,只需要在需要格式化的字符串中加入相应的占位符,再将需要填入占位符的数据作为.format方法的参数传入即可。具体用法如下:

# 按照顺序填入参数
print("我叫{},今年{}岁。".format("小明", 20))

# 指定位置填入参数
print("我叫{1},今年{0}岁。".format(20, "小明"))

# 指定关键字填入参数
print("我叫{name},今年{age}岁。".format(name="小明", age=20))

# 指定格式
print("小明的身高是{:.2f}米".format(1.75))

# 指定对齐方式
print("{:<10}年龄:{}".format("小明", 20))

上面的代码输出结果分别是:

我叫小明,今年20岁。

我叫小明,今年20岁。

我叫小明,今年20岁。

小明的身高是1.75米

小明 年龄:20

三、高级用法

在.format方法中,如果要使用复杂的参数,比如列表、字典、对象等,可以在占位符中使用更加复杂的语法。例如:

# 列表
scores = [80, 90, 85]
print("小明的成绩单:语文:{},数学:{},英语:{}".format(*scores))

# 字典
info = {"name": "小明", "age": 20, "height": 175}
print("姓名:{name},年龄:{age},身高:{height}".format(**info))

# 对象
class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age

s = Student("小明", 20)
print("姓名:{0.name},年龄:{0.age}".format(s))

上面的代码输出结果分别是:

小明的成绩单:语文:80,数学:90,英语:85

姓名:小明,年龄:20,身高:175

姓名:小明,年龄:20

四、字符串格式化的应用场景

使用.format方法进行字符串格式化在实际开发中非常常见,比如:

1、日志记录:将日志信息格式化后输出。

import logging

logging.basicConfig(format="%(asctime)s [%(levelname)s] %(message)s")

logging.info("这是一条日志信息")

输出结果:

2021-03-05 13:56:23,610 [INFO] 这是一条日志信息

2、数据导出:将数据格式化后导出到文件或数据库中。

import csv

rows = [("小明", 20, "男"), ("小红", 19, "女"), ("小刚", 21, "男")]

with open("data.csv", "w", newline="") as csv_file:
    writer = csv.writer(csv_file)
    writer.writerow(["姓名", "年龄", "性别"])
    for row in rows:
        writer.writerow(row)

输出结果:

姓名,年龄,性别

小明,20,男

小红,19,女

小刚,21,男

3、界面展示:将数据格式化后展示在界面上。

from tkinter import *

root = Tk()
root.geometry("200x100")

label = Label(root, text="姓名:{}\n年龄:{}".format("小明", 20))
label.pack()

root.mainloop()

输出结果:

姓名:小明

年龄:20

本文固定链接:https://6yhj.com/leku-p-5238.html  版权所有,转载请保留本地址!
[猜你喜欢]

标签: python爬虫