首页 > 解决方案 > 什么是转义字符和格式字符用于

问题描述

所以我不确定它们的用途是什么,例如 /n 是什么意思,%s 是什么意思?我只是不确定我能用它们做什么以及它们是做什么用的

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

标签: python

解决方案


“转义字符”是难以正常输入但我们需要能够在字符串中表示的字符。例如:

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

Wikipedia 详细说明了这些,并在 C 中提供了它们的列表并且可以在此处找到专门存在于 python 中的转义字符列表。您会注意到它或多或少是相同的列表 - 随着时间的推移,语言大多已标准化。


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


一些语言,如 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一个类似于or的标记%d告诉函数用某些东西代替它,而字母决定了什么变量类型:

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

并且,由于有时需要按%字面输入,%%因此会发生这种情况,就像\\反斜杠一样。

现代 python 还提供了一种更新类型的格式字符串,在本文档中有详细说明


许多不同的系统以不同的方式使用转义字符的概念——我没有提到的一个是 python 的datetime模块。一个安全的赌注是假设基本的转义字符(我的答案的第一部分中的那些)适用,并仔细检查文档以查看上下文中是否还有其他需要注意的内容。


推荐阅读