No, it will raise an exception.
>>> _, obj = [0]
ValueError: need more than 1 value to unpack
Using _
is just a convention here. It's used for the dev reading the code ("Oh, he means that variable isn't going to be used for anything"). But for the interpreter, it means nothing in this context and it may as well have been any other identifier name.
What happens if the code is not a tuple, but a single object?
This is something that was improved in python3, where you have this new option available:
>>> *_, obj = [0]
>>> _
[]
>>> obj
0
Unpacking the "last" object will now still work, instead of raising exception, no matter if you have 1, 2, or 3+ items in the container.