_
will be the result of the last evaluated command - at interpreter start up there isn't any so you'll get a NameError
... after that, you'll get the previous result... Try opening a new interpreter and doing 2 + 2
... you'll see 4
returned, then type _
... eg:
>>> _
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
_
NameError: name '_' is not defined
>>> 2 + 2
4
>>> _
4