问题标签 [repr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
467 浏览

google-app-engine - appengine 上的 Python:eval() 出错

我正在使用 App Engine 的网络应用程序。此请求处理程序输出带有文本字段的表单。提交时,它将获取文本并将<h1>标签添加到以 . 开头的行#。我曾经repr()能够将文本拆分为行列表,并eval()分析每一行的文本,而无需u'在来自repr().

现在的代码方式,它给了我这个错误:

如果我只使用line[0]而不是eval(line)[0],则一切正常,只是它不适用于第一行。即使第一行以 开头#,条件也将用于 the,else因为第一个字符将是u'而不是#。试图解决这个问题eval()给了我这个错误。我该如何解决这个问题?

0 投票
1 回答
5832 浏览

python - 对于自定义 Python 类,哪个 __repr__ 更好?

__repr__该函数 似乎有不同的返回方式。

我有一个类 InfoObj 存储了许多东西,其中一些我不特别希望该类的用户自己设置。我认识到在 python 中没有任何东西受到保护,他们可以直接潜入并设置它,但似乎定义它__init__使得有人更有可能看到它并认为只需传递它就可以了。

(示例:验证函数在确定对象已完全填充时设置的布尔值,以及在存储足够信息时从其他值计算的值...例如 A = B + C,所以一次设置 A 和 B 然后计算 C 并将对象标记为 Valid=True。)

那么,考虑到所有这些,设计 __repr__ 输出的最佳方式是什么?

... C 类型的要点是不要愉快地将我在 C++ 中设置为“私有”的所有东西作为构造函数的参数,并让使用该类的队友使用接口函数设置它,即使它需要更多工作为他们。在这种情况下,我将定义一个不包含某些内容的构造函数,以及一个稍微难以注意到的单独函数__repr__

如果有什么不同,我计划使用它们的__repr__输出将这些 python 对象存储在数据库中,并使用 检索它们eval(),至少除非我想出更好的方法。队友手动创建完整对象而不是通过适当的接口函数的结果只是一种类型的信息检索可能不稳定,直到有人弄清楚他做了什么。

0 投票
1 回答
596 浏览

python - 为什么 `print hashlib.sha224(some_string).digest()` 与它的 `repr()` 不同?

我想在我的数据库表中存储一些字符串的一些哈希值。为此,我创建了一个 varchar(64) 类型的列。我确实生成这样的哈希:

现在我意识到

不一样

(到目前为止,我知道>>> print 'test'>>> 'test'...之间的区别 :-))我很困惑我现在应该存储哪个部分。还是其他repr()版本?

0 投票
6 回答
10309 浏览

python - Python __repr__ 和无

我对 Python 很陌生,目前我需要__repr__一个 SqlAlchemy 类。我有一个可以接受Null值的整数列,SqlAlchemy 将其转换为None. 例如:

__repr__当 SqlAlchemy 返回时,在函数中表示“mystat”字段的正确方法是什么None

0 投票
5 回答
198708 浏览

python - 理解 Python 中的 repr() 函数

repr():对象的可评估字符串表示(可以“eval()”它,这意味着它是一个评估为 Python 对象的字符串表示)

换句话说:

问题:

  1. 为什么我会得到双引号repr(x)?(当我做的时候我没有得到它们str(x)
  2. 为什么我会得到'foo'eval("'foo'")而不是 x 是对象?
0 投票
2 回答
875 浏览

python - 艰难地学习 Python,练习 10.4

这是我为练习写的:

输出

问题

%r 不会像我在 .py 文件中那样打印所有内容(例如,它在第 1 行打印“my”而不是“my”)。为什么?

0 投票
2 回答
1093 浏览

python - python unittest 使用重载的 __repr__ 失败的断言

在我的代码中,我定义了一个具有自己的 repr 方法的类。类的表示应该是一个列表。

我编写了以下单元测试来测试此方法。

但是,我最终遇到了一个断言错误:

我不确定问题是什么……在我看来,[1]==[1]!我在我的 repr 方法(如下)中尝试了其他几种变体,它们也都返回了错误。

0 投票
4 回答
11274 浏览

python - 如何使 __repr__ 返回 unicode 字符串

__repr__()在对象上调用一个函数,x如下所示:

val = x.__repr__()

然后我想将val字符串存储到SQLite数据库。问题是val应该是unicode。

我试过这个没有成功:

val = x.__repr__().encode("utf-8")

val = unicode(x.__repr__())

你知道如何纠正这个吗?

我在用着Python 2.7.2

0 投票
2 回答
524 浏览

python - 在 python 中,如何让诸如 repr() 之类的函数与我的代理类一起使用?

我设计了一个代理类,它允许我用工厂方法替换任何类型/类,并且仍然保留类对象的大部分功能。这是它如何工作的示例:

我喜欢这种工厂方法的实现,因为它完全替换了原始类对象,并且仍然允许以下内容:

我发现的唯一问题是对类本身的操作,例如repr()

在此示例中,repr()正在尝试调用str.__repr__()而不是type.__repr__(str). 我尝试修复更改str.__class__,但发现在这种情况下这是不可能的:

有谁知道恢复功能的任何方法repr(str)或另一种方法来完成我正在做的事情?

0 投票
4 回答
6528 浏览

python - 可以在python中更改函数的repr吗?

我只看到了__repr__在类定义中设置方法的示例。是否可以在定义中或定义后更改__repr__for 函数?

我试过没有成功...