Well, to be fair the "good python code" is probably just executing something written in c lol. But lots of python is backed up by stuff written in c.
Not necessarily. Just using a better optimized sort or hash algorithm can make a big difference.
I was talking specifically of pure python code (except the python's standard library itself, where it really is unavoidable).
Of course algorithmic complexity will trump anything else at big enough n values.
But yes python is slow.
However I've seen good python code be faster than bad C code.