Joel Hedlund wrote:
>> There's no requirement that the socket module or
>> anything else return values using the same object that the
>> socket.AF_UNIX constant uses.
> 
> 
> Ouch. That's certainly an eyeopener.
> 
> For me, this means several things, and I'd really like to hear people's 
> thoughts about them.
> 
> It basically boils down to "don't ever use 'is' unless pushed into a 
> corner, and nevermind what PEP8 says about it".



Identity checks are often used for checking input parameters of a function:

def somefunc(val=None):
     if val is None:
         val = []
     do_stuff(val)



Or if None is a possible parameter you can use your own object as a marker::

_marker = []

def somefunc(val=_marker):
     if val is marker:
         val = []
     do_stuff(val)



-- 

hilsen/regards Max M, Denmark

http://www.mxm.dk/
IT's Mad Science

Phone:  +45 66 11 84 94
Mobile: +45 29 93 42 96
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to