用Python格式化字符串的最佳方法是什么?

时间:2019-05-28 16:21:07

标签: python string

我目前正在阅读有关Python的书籍并参加在线课程。我们可以使用多种方法来格式化python中的字符串格式,但是我想知道什么是最好的方法。

例如,如果我们有以下两种格式化字符串的方式,哪种方法会更好?它甚至有所作为吗?

    print("I am %d years old." % (age))

    print("I am {} years old".format(age))

甚至是

    print("I am " + str(age) + " years old")

无论如何,这是一个理论问题。我是编码新手,但是我知道某些函数或方法比其他函数或方法消耗更多的内存,因此我试图找出其中的一种也许是更好的做法。

5 个答案:

答案 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)

通过这种方式,它在字符串中提供了一个更通用的变量名,以便每个人都知道输入变量的含义。