什么是转义字符和格式字符用于

时间:2019-06-10 20:33:26

标签: python

所以我不确定/ n是什么意思,%s是什么意思?我只是不确定我可以将它们用于什么以及它们的用途

我只是开始使用python,所以任何帮助都会很好。

1 个答案:

答案 0 :(得分:1)

“转义字符”是通常很难键入的字符,但是我们仍然需要能够以字符串表示。例如:

"\n"  # newline
"\r"  # carriage return
"\t"  # tab
"\xAC"  # whatever character the hex code AC corresponds to

Wikipedia elaborates on these, and provides a list of them in C。以及专门在can be found here中存在的转义字符列表。您会注意到,它或多或少是相同的列表-随着时间的流逝,语言大多已标准化。


通常,反斜杠\用于转义其他字符-例如上述所有情况。请注意,\\本身是一个转义字符,会产生一个反斜杠,不会转义其他字符。在其他情况下,例如在regular expressions中,反斜杠可以转义*$[等字符,并使其正常运行时不执行任何操作他们将作为做某事的信号。最好将这些字符称为“转义 d 字符”,而不是“转义字符”。


某些语言(例如C)提供格式字符串-另一种特殊情况。格式化字符串的目的是使打印内容更容易:而不是

printf("My mother's name is " + name + " and she is " + age + " years old");

你可以做

printf("My mother's name is %s and she is %d years old", name, age);

Python支持类似的语法:

print("My name is %s and I am %d years old" % (name, age))

此处,%字符用于转义其他字符串,而不是反斜杠(因为反斜杠已经已经用于转义字符)。像%s%d这样的标记告诉函数用它代替某些东西,字母决定哪种变量类型:

"%s" % string
"%d" % int
"%f" % float

而且,由于有时有时需要按字面意义键入%,因此%%会发生这种情况,与\\的反斜杠相同。

现代python还提供了一种新型的格式字符串,详细说明in this documentation


许多不同的系统对转义字符的想法有所不同-我没有提到的是python的datetime模块。一个安全的选择是假定适用基本的转义字符(我答案的第一部分中的那些字符),并仔细检查文档以查看是否在上下文中需要注意其他一些字符。