Phlip wrote:
On 2011.07.06 12:38 PM, Phlip wrote:
Python sucks. m = md5() looks like an initial assignment, not a
special magic storage mode. Principle of least surprise fail, and
principle of most helpful default behavior fail.
>>>

If I call m = md5() twice, I expect two objects.

You didn't call md5 twice -- you called it once when you defined the function.

Phlips naive code:
---
def file_to_hash(path, m = hashlib.md5()):
                       \---------------/
                        happens once, when
                        def line is executed


If you want separate md5 objects, don't create just one when you create the function, create one inside the function:

def file_to_hash(path, m = None):
    if m is None:
        m = hashlib.md5()


You should try the Principle of Learning the Language.

~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to