Why return None?
Martin DeMello
martindemello at yahoo.com
Wed Aug 25 04:26:26 EDT 2004
It seems to be a fairly common pattern for an object-modifying method to
return None - however, this is often quite inconvenient.
For instance
def f(lst1, lst2):
g((lst1 + lst2).reverse()) # doesn't work!
you need to say
def f(lst1, lst2):
a = lst1 + lst2
a.reverse()
g(a)
this is actually getting in my way a lot when scripting Blender - for
instance, I can't say move(Vector([a,b,c]).normalize()), I have to do
a = Vector([a,b,c])
a.normalize()
move(a)
but it seems to be recommended practice rather than a fault in the
Blender API, since the standard list does it. Is there any drawback to
returning self rather than None?
martin
c
More information about the Python-list
mailing list