On 03/06/12 22:43, Tehn Yit Chin wrote:
I am trying to understand when it is appropriate to use None as in the
following example
if abc != None:
print "abc is not None"
In general I only use that idf its a defaulted parameter to a function:
def foo(x=None):
if x is None:
do the default thing with x
else:
use the x that was passed in.
1) Can I use it to determine if the variable abc exists?
There are better ways of doing that, usually by detecting a NameErropr.
2) Can I use it to determine if the variable abc does not contain anything?
That's not the same as None
a = '' # empty string
b = 0 # zero number
c = [] # empty list
usually you detect emptiness by a simply truth test:
for var in (a,b,c):
if not var:
print var.__name__, ' is empty or false'
else:
use the value
That's because, by convention, Python types assign falseness to be the
same as emptiness, certainly for the built-in or standard types.
There are occasional uses for None but mostly it's there to make the
language consistent! eg. a return type for functions that don't
explicitly return anything...
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor