Suppose a function spam
has signature spam(ham=None)
. The following three calls will all cause the local variable ham
in spam
's namespace to have value None
:
spam()
spam(None)
spam(ham=None)
How can spam
find out which of these three alternatives was actually used?