def __repr__(self):
return '<%s %s (%s:%s) %s>' % (
self.__class__.__name__, self.urlconf_name, self.app_name,
self.namespace, self.regex.pattern)
Run Code Online (Sandbox Code Playgroud)
这种方法的意义/目的是什么?
%r以下陈述中的含义是什么?
print '%r' % (1)
Run Code Online (Sandbox Code Playgroud)
我想我已经听说过%s,%d和%f,但从来没有听说过这一点.
http://learnpythonthehardway.org/book/ex6.html
Zed似乎在这里使用%r和%s互换,两者之间有什么区别吗?为什么不一直使用%s?
此外,我不知道在文档中搜索什么以查找更多信息.什么是%r和%s究竟叫什么名字?格式化字符串?
我从用户输入的GUI文本框中读取一个字符串,并通过pandoc处理它.该字符串包含带有反斜杠字符的math的latex指令.我想将字符串作为原始字符串发送到pandoc进行处理.但是像"\ theta"这样的东西变成了一个标签和"heta".
如何将包含反斜杠字符的字符串文字转换为原始字符串...?
编辑:
谢谢develerx,飞羊和unutbu.但是这些解决方案似乎都没有帮助我.原因是还有其他的backslashed-characters在python中没有任何影响但在latex中有意义.
例如'\ lambda'.建议生产所有方法
\\lambda
Run Code Online (Sandbox Code Playgroud)
在乳胶加工中没有经过 - 它应该保持为\ lambda.
另一个编辑:
如果我能得到这项工作,我想我应该通过.@Mark:这三种方法都给出了我不想要的答案.
a='\nu + \lambda + \theta';
b=a.replace(r"\\",r"\\\\");
c='%r' %a;
d=a.encode('string_escape');
print a
u + \lambda + heta
print b
u + \lambda + heta
print c
'\nu + \\lambda + \theta'
print d
\nu + \\lambda + \theta
Run Code Online (Sandbox Code Playgroud) 我偶尔会使用Python字符串格式.这可以这样做:
print('int: %i. Float: %f. String: %s' % (54, 34.434, 'some text'))
Run Code Online (Sandbox Code Playgroud)
但是,这也可以这样做:
print('int: %r. Float: %r. String: %r' % (54, 34.434, 'some text'))
Run Code Online (Sandbox Code Playgroud)
以及使用%s:
print('int: %s. Float: %s. String: %s' % (54, 34.434, 'some text'))
Run Code Online (Sandbox Code Playgroud)
因此,我的问题是:为什么我会使用%r或%s以外的任何东西?其他选项(%i,%f和%s)对我来说似乎毫无用处,所以我只是想知道为什么每个人都会使用它们?
[edit]在%s中添加了示例
我使用以下代码创建一个文件:
file = open("full_names.txt", "wb")
file.write("Bob Smith\nMichael Jackson\nTony Tiger\nWinston Churchill\nHenry Kissinger\nHamid Karzai\nJohn Major\nJohnny Quest")
file.close()
Run Code Online (Sandbox Code Playgroud)
然后我运行脚本将文件打印到屏幕:
with open("full_names.txt", "rb") as f:
for line in f:
first, last = line.strip().split(" ")
print "Last Name: %r First Name: %r" % (last, first)
Run Code Online (Sandbox Code Playgroud)
但是输出显示了名称周围的引号,如下所示:
Last Name: 'Smith' First Name: 'Bob'
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么或如何摆脱它们?