分类
文章

Python中的字符串格式-Format()或百分比(%)

在本快速教程中,您将了解在Python中用于格式化字符串的format()函数或百分比(%)之间选择哪种方法。

像大多数编程语言一样,Python也提供格式化字符串的机制。例如,在”C”语言中,”%”符号(又名模运算符)充当格式说明符,在Python中也是如此。

但是,Python还具有通过format()函数进行字符串格式化的另一种方法。在本文中,我们将探讨’%’运算符与string.format()函数之间的主要区别。

Python字符串。Format()或百分比格式

首先让我们深入研究百分比(%)符号,然后看看它的作用。

使用百分比(%)格式化字符串

如果您想执行一些简单的字符串格式设置,请尝试使用’%’运算符。这是一种非常古老的样式,它将使您想起C编程语言。

Python也遵守这种格式,并且可以使用%符号格式化其所有数据类型的值。

查看以下示例。


# Percentage (%) demo to format strings
subject = "Data Science"
language = "Python"
output_str = 'I am studying %s and using %s as the programming language.' % (subject, language)
print (output_str)

您应该在此处注意,您需要在后缀’%’处添加特定于类型的字符,以指示要打印的数据类型。它表示替换数字还是字符串。


# Percentage (%) demo to format both strings and integer types
>>> strHundred = "Hundred"
>>> intHundred = 100
>>> "%d means %s" % (intHundred , strHundred)

'100 means Hundred'

如果您未针对’%d’提供整数类型值,则Python将引发TypeError。

C printf样式格式的主要问题是它限制了要传递的参数。而且,大多数程序员并不像Python的新功能那样直观。

使用Format()进行字符串格式化

它是Python 3中引入的用于简化字符串格式的最新功能之一。它使用了一种迷你语言,提供了易用性和更多选择。

请注意,其创建者还将其移植到了Python 2.6中,这是迄今为止最常用的Python版本之一。

格式功能需要使用大括号代替%修饰符。它用格式参数的参数值代替了第一次出现的花括号。

查看以下示例。


# String.Format() demo to format strings
>>> 'The site {} helped me learn Python.'.format('NihaoW3')

'The site NihaoW3 helped me learn Python.'

请参见另一个示例,以发现string.format()函数和%运算符之间的潜在差异。


# String.Format() demo to format multiple strings and an integer
>>> 'The site {} helped me learn {} basics in just {} days.'.format('NihaoW3', 'Python', 7)

'The site NihaoW3 helped me learn Python basics in just 7 days.'

从上面的示例中可以很明显地看出,格式功能完全使您免于硬编码要打印的数据类型,并使您专注于格式设置。

有关此主题的更多详细信息,请阅读此综合教程– Python字符串格式化

发表评论

电子邮件地址不会被公开。 必填项已用*标注