相关疑难解决方法(0)

Python的目的__repr__

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)

这种方法的意义/目的是什么?

python

123
推荐指数
4
解决办法
15万
查看次数

python中%r的含义是什么?

%r以下陈述中的含义是什么?

print '%r' % (1)
Run Code Online (Sandbox Code Playgroud)

我想我已经听说过%s,%d%f,但从来没有听说过这一点.

python sign

62
推荐指数
4
解决办法
4万
查看次数

Python艰难的方式 - 练习6 - %r与%s

http://learnpythonthehardway.org/book/ex6.html

Zed似乎在这里使用%r%s互换,两者之间有什么区别吗?为什么不一直使用%s

此外,我不知道在文档中搜索什么以查找更多信息.什么是%r%s究竟叫什么名字?格式化字符串?

python

41
推荐指数
2
解决办法
6万
查看次数

如何通过用户输入转义收到的乳胶代码?

我从用户输入的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 string text

39
推荐指数
3
解决办法
10万
查看次数

为什么我会在Python字符串格式中使用%r以外的任何东西?

我偶尔会使用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中添加了示例

python string-formatting

5
推荐指数
1
解决办法
1345
查看次数

为什么打印文件时会显示这些引号?

我使用以下代码创建一个文件:

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)

有谁知道为什么或如何摆脱它们?

python

1
推荐指数
1
解决办法
60
查看次数

标签 统计

python ×6

sign ×1

string ×1

string-formatting ×1

text ×1