【Python】随笔 - 关于 format() 函数的整理以及 f-string 功能

【Python】关于 format() 函数的整理以及 f-string 功能

1.问题重述

传统的字符串拼接方法使用的时候不是很方便,这时候就考虑使用format()或者f-string处理

2. 用法汇总

Python中format()方法用于格式化字符串,使其更易于阅读和理解。该方法可以接受不同类型的参数,如列表、元组、字典等,用于替换字符串中的占位符。

2.1基本用法:

# 使用位置参数替换占位符
print("Hello, {}!".format("World"))

# 使用索引号替换占位符
print("{1} is better than {0}".format("Java", "Python"))

# 使用关键字参数替换占位符
print("{name} is {age} years old".format(name="Alice", age=25))

输出:
“Hello, World!” - 使用位置参数替换占位符
“Python is better than Java” - 使用索引号替换占位符,按照索引号的顺序替换
“Alice is 25 years old” - 使用关键字参数替换占位符

2.2字段格式化:

# 设定填充字符和对齐方式
print("{:10}".format("hello")) # 左对齐
print("{:=^10}".format("hello")) # 居中对齐
print("{:>10}".format("hello")) # 右对齐

# 设置精度和宽度
print("{:.2f}".format(3.14159)) # 保留两位小数
print("{:10.2f}".format(3.14159)) # 占位符宽度为10,保留两位小数

左对齐

  • 输出:"hello "

  • 解释:”{:10}“中的”:"表示格式规范的开始,"10"表示占位符的宽度为10。这里的作用是告诉Python要对替换的字符串进行格式化,并确保输出的字符串长度为10,如果不够,则使用空格来填充。因此,输出字符串会左对齐并填充空格以满足宽度为10的要求。

  • 注:这里是默认左对齐,也可以显示的:{:<10}".format(“hello”)

居中对齐

  • 输出为:“=== hello ===”

  • 解释:第一个”:“表示格式规范的开始,”=“表示用来填充空白的字符,”^"表示居中对齐,“10"表示字符串的宽度为10。因此,这个格式规范符号告诉Python对替换的字符串进行格式化,要求以”=“字符居中对齐,并确保输出的字符串长度为10,如果不够,则使用”="字符来填充。(居中对齐,=填充,长度为10)

右对齐

  • 输出为:" hello"

  • 解释:"{:>10}“中的第一个”:“表示格式规范的开始,”>"表示右对齐,"10"表示字符串的宽度为10。因此,这个格式规范符号告诉Python对替换的字符串进行格式化,要求以右对齐方式输出,并确保输出的字符串长度为10,如果不够,则在左侧使用空格来填充。

保留两位小数

  • 输出为:输出为:3.14
  • 解释:”."表示精度符号,"2"表示保留小数点后两位,"f"表示浮点数类型

2.3 新增功能(Python3):

# 使用f-string替代format方法,更加简洁
name = "Alice"
age = 25
print(f"{name} is {age} years old")

# 格式化字典
person = {'name': 'Bob', 'age': 30}
print(f"{ person['name'] } is { person['age'] } years old")

输出为:

“Alice is 25 years old”

“Bob is 30 years old”

2.4 return用法:

# 自定义类的格式化方法
class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y
    def __str__(self):
        return 'Point({self.x}, {self.y})'.format(self=self)

point = Point(3, 4)
print(point)
  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_千思_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值