python---之f'{}'
时间:2023-3-1 20:36 作者:wen 分类: Python
怎样使用Use str.format()
str.format()是对%-formatting的改进。它使用正常的函数调用语法,并且可以通过对要转换为字符串的对象的format ()方法进行扩展。
使用str.format(),替换字段用大括号标记:
name = 'zhangsan'
age = 74
print("Hello, {}. You are {}.".format(name, age))
Hello, zhangsan. You are 74.
您可以通过引用其索引来以任何顺序引用变量:
print("Hello, {1}. You are {0}-{0}.".format(age, name))
Hello, zhangsan. You are 74-74.
但是,如果插入变量名称,则会获得额外的能够传递对象的权限,然后在大括号之间引用参数和方法:
person = {'name': 'Eric', 'age': 74}
print("Hello, {name}. You are {age}.".format(name=person['name'], age=person['age']))
Hello, Eric. You are 74.
你也可以使用**来用字典来完成这个巧妙的技巧:
person = {'name': 'Eric', 'age': 74}
print("Hello, {name}. You are {age}.".format(**person))
Hello, Eric. You are 74.
与f-string相比,str.format()绝对是一个升级版本,但它并非总是好的。
为什么 str.format() 并不好
使用str.format()的代码比使用%-formatting的代码更易读,但当处理多个参数和更长的字符串时,str.format()仍然可能非常冗长。
如果你有想要传递给字典中的.format()的变量,那么你可以用.format(** some_dict)解压缩它,并通过字符串中的键引用这些值,但是必须有更好的的方法
f-Strings:一种改进Python格式字符串的新方法
好消息是,F字符串在这里可以节省很多的时间。他们确实使格式化更容易。他们自Python 3.6开始加入标准库。您可以在PEP 498中阅读所有内容。
也称为“格式化字符串文字”,F字符串是开头有一个f的字符串文字,以及包含表达式的大括号将被其值替换。表达式在运行时进行渲染,然后使用format协议进行格式化。与往常一样,Python文档是您想要了解更多信息的最佳读物。
以下是f-strings可以让你的生活更轻松的一些方法。
简单例子
语法与str.format()使用的语法类似,但较少细节啰嗦。看看这是多么容易可读:
name = "Eric"
age = 74
f"Hello, {name}. You are {age}."
Hello, Eric. You are 74.
使用大写字母F也是有效的:
name = "Eric"
age = 74
F"Hello, {name}. You are {age}."
Hello, Eric. You are 74.
标签: python基础