Thank you @stucork. I did check out the code, and I was surprised that it has this in it (around line 1500 or so):
@classmethod
def strptime(cls, date_string, format):
'string, format -> new datetime parsed from a string (like time.strptime()).'
from _strptime import _strptime
# _strptime._strptime returns a two-element tuple. The first
# element is a time.struct_time object. The second is the
# microseconds (which are not defined for time.struct_time).
struct, micros = _strptime(date_string, format)
return cls(*(struct[0:6] + (micros,)))
So, I was confused. Am I missing something?