修改由标准库对象的方法返回的可变对象是否安全?

这是一个具体的例子;但如果可能的话,我正在寻找一个一般性的答案。

#m is a MatchObject
#I know there's only one named group in the regex
#I want to retrieve the name and the value
g, v = m.groupdict().popitem()
#do something else with m

此代码安全吗?我担心通过更改groupdict()会破坏对象m(稍后我仍然需要)。

我对此进行了测试,随后对m.groupdict()的调用仍返回原始字典;但就我所知,这可能与实现有关。

最佳答案

通常,只有在文档中说明时,才保证安全。 (在这种特殊情况下,另一个实现似乎不太可能表现出不同的行为。)

09-27 23:26