Bueno, python es un lenguaje interpretado, eso quiere decir que para que puedas hacer correr tus programas necesitas tener el intérprete de python instalado en el sistema que quieras, creo que eso responde a tu última pregunta.
Ahora, el código python estandar que escribas debería funcionar en cualquier sistema operativo
.