In [22]:
iAmUndefined

print "after undefined name in module"  # Will this be executed?


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-22-b26e9fd366a7> in <module>()
----> 1 iAmUndefined
      2 
      3 print "after undefined name in module"  # Will this be executed?

NameError: name 'iAmUndefined' is not defined

In [23]:
def surprise_function():
    maybeIamDefinedMaybeNot

print "after undefined name in function"  # Will this be executed?
maybeIamDefinedMaybeNot = 'I am defined as global to the module'
surprise_function()
print "after first function call"  # Will this be executed?
del maybeIamDefinedMaybeNot
surprise_function()
print "after second function call"  # Will this be executed?


after undefined name in function
after first function call
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-23-11f642f7aa3c> in <module>()
      7 print "after first function call"  # Will this be executed?
      8 del maybeIamDefinedMaybeNot
----> 9 surprise_function()
     10 print "after second function call"  # Will this be executed?

<ipython-input-23-11f642f7aa3c> in surprise_function()
      1 def surprise_function():
----> 2     maybeIamDefinedMaybeNot
      3 
      4 print "after undefined name in function"  # Will this be executed?
      5 maybeIamDefinedMaybeNot = 'I am defined as global to the module'

NameError: global name 'maybeIamDefinedMaybeNot' is not defined