几周前,我在数据科学加速课程中第一次开始学习python,我们很早就被介绍给f字符串。
简单的代码:
name = 'Tim'
print(f'There are some who call me {name}...')
输出字符串“有人叫我蒂姆...”
出于好奇,我浏览各种软件包时,遇到this one之类的页面,详细介绍了可以在matplotlib中调用的函数,以在生成的图像中渲染类似$ \ LaTeX $的表达式。在示例代码中,它们使用类似于f字符串的方式,但用r代替f。
import matplotlib.pyplot as plt
plt.title(r'$\alpha > \beta$')
plt.show()
生成的(否则为空)图的标题使用的文本格式与使用MathJax或$ \ LaTeX $时使用的希腊字符alpha和希腊字符beta相似。
我的问题如下:
r弦到底是什么,它与f弦相比如何? r字符串是否专门用于matplotlib的mathtext和usetex?
除了f字符串和r字符串外,还有其他我应该熟悉或意识到的其他著名的相似字符串变体或替代品吗?
答案 0 :(得分:5)
"\n"
是包含换行符的字符串,而r"\n"
是包含反斜杠和字母n
的字符串。\a
位正常工作。r, u, f, rf, fr, b, rb, br
bytes
object。字符串可以看作是底层字节的视图,通常在允许哪些组合方面受到限制。类型上的区别有助于防止错误将文本技术盲目地应用于原始数据。在Python 3中,请注意'A'==b'A'
是False
。这些不是一回事。u
前缀。在Python 2中,默认情况下,字符串是ASCII,而u
前缀则允许您包含非-字符串中的ASCII字符。例如,请注意法语短语u"Fichier non trouvé"
中的重音字符。r, u, f, b
以外的任何东西。甚至b
都在那里。其他人每天(大概)都会处理这些前缀。他们不一定是您需要熟悉的任何东西,但是了解它们的存在并能够找到其文档可能是一项很好的技能。@JamesGibson链接了language specification,使它出现在答案中,而不是在注释中,所以这就是我从中提取前缀列表的位置。根据您的数学背景,正式的语言规范可能会特别有趣-取决于您对代数和数学逻辑的喜爱程度。
即使只是像Forth这样的语义上微不足道的语言,我认为许多程序员也会喜欢编写简短的解释器,并获得有关他们选择的语言如何工作的宝贵见解。