【问题标题】:what are escape characters and format characters used for什么是转义字符和格式字符用于
【发布时间】:2019-10-25 06:05:29
【问题描述】:

所以我不确定它们的用途,例如 /n 的含义和 %s 的用途?我只是不确定我可以使用它们以及它们的用途

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

【问题讨论】:

  • \n 为换行符,%s 用于格式化字符串
  • 阅读this
  • 我知道这是一个愚蠢的问题,所以谢谢你回答我

标签: python


【解决方案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。以及python中存在的转义字符列表,特别是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 模块。一个安全的选择是假设基本的转义字符(我的答案的第一部分中的那些)适用,并仔细检查文档以查看上下文中是否还有其他需要注意的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-25
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多