我目前正在阅读有关Python的书籍并参加在线课程。我们可以使用多种方法来格式化python中的字符串格式,但是我想知道什么是最好的方法。
例如,如果我们有以下两种格式化字符串的方式,哪种方法会更好?它甚至有所作为吗?
print("I am %d years old." % (age))
或
print("I am {} years old".format(age))
甚至是
print("I am " + str(age) + " years old")
无论如何,这是一个理论问题。我是编码新手,但是我知道某些函数或方法比其他函数或方法消耗更多的内存,因此我试图找出其中的一种也许是更好的做法。
答案 0 :(得分:3)
Python 3.6+提供了新的字符串格式。
name = "jack"
my_string = f"hello my name is {name}"
答案 1 :(得分:2)
format函数是使用格式化字符串的最正确和推荐的方法,因为它比旧字符串多了powerful。
%
被声明为过时的格式。
Here,您可以看到旧格式和新格式字符串的示例。
P.S。在Python 3.6中宣布了新的f-strings。
答案 2 :(得分:1)
所有方法都取决于您希望实现的操作以及执行效率。当前,在python 3.6中引入了最新,最有效的python格式字符串格式化方法,如下所示:
f' {}'
如果您希望格式化字符串,这是目前最好的方法。
答案 3 :(得分:0)
如果适合您的风格,并且您的工作场所没有任何规定,所有方法都可以。
但是我认为最流畅的方法是window.myApplicationData={
monsters: [
{
id: 'dasf2343242',
/*...*/
}
],
stats: {},
/*....*/
}
。
这样做吗?
f-Strings
答案 4 :(得分:0)
我不认为有任何最佳方法来处理字符串格式,我想这取决于开发人员希望其代码可读性的程度。
使用%
进行格式化是一种旧方法,但是向后兼容。
推荐使用.format(_)
函数。
将字符串串联在一起通常很难阅读或掌握最终字符串应该是什么。
我个人总是使用.format
选项,这也是因为它允许在大括号内命名变量。例如
from datetime import datetime
now = datetime.now()
time_now = "Time: '{time}'".format(time=now)
通过这种方式,它在字符串中提供了一个更通用的变量名,以便每个人都知道输入变量的含义。