On Mar 2, 2011, at 9:21 AM, Stefan Behnel wrote: > Claudiu Popa, 02.03.2011 14:51: >> Hello Python-list, >> >> >> I don't know how to call it, but the following Python 3.2 code seems to >> raise a >> FutureWarning. >> >> def func(root=None): >> nonlocal arg >> if root: >> arg += 1 >> The warning is "FutureWarning: The behavior of this method will change >> in future versions. Use specific 'len(elem)' or 'elem is not None' test >> instead." >> Why is the reason for this idiom to be changed? > > Let me guess - this is using ElementTree, right? > > It's not the idiom itself that changes, it's the Element class in ElementTree > that will likely change its behaviour in later versions. > > Fix: do as it says.
And it's documented, although you might have a hard time finding it. See the "Caution" at the end of this section of documentation: http://docs.python.org/py3k/library/xml.etree.elementtree.html#element-objects I wish this behavior had been changed for Python 3.x. That warning has been in the ElementTree doc since before it became part of the standard lib, so it's not a new idea. Python 3.x seems like it would have been an ideal time to make the change. Oh well. bye P -- http://mail.python.org/mailman/listinfo/python-list