It's difficult to imagine kernels / device drivers etc written in (e.g. Python) - the memory management would be a bit of a headache.
On the other hand, almost all the userspace code could be. Under Linux, there is no requirement that "init" be a native machine-code binary - it can be a python script or something, no problem.