The first one with the from still only imports one module, just the same as a regular import statement.
The contents of the brackets can just then be referred to (without preppending them with their owning module’s name and.) and the importer’s name space can be controlled.
Don’t know if this is the cause, but a possible reason for the discrepancy is that each normal import listed is totally independent - there wouldn’t be a difference in bytecode other than line numbers between parenthesised imports and multiple import statements. On the other hand import from passes that entire list to the import system, and splitting would also require loading the module twice. The global/nonlocal statements also disallow parentheses, and those also wouldn’t have a semantic difference from allowing them.
@tstefan, I’ve always found PEP8’s recommendation in this regard difficult to comprehend, for it’s both inconsistent:
…and, to a lay man like myself, nonsensical - for what reason would writing multiple import statements be quicker to author, or quicker for the interpreter?