Pygame ne gère pas la physique et il me semble que la gestion des collisions se fait en pixel perfect (pas forcement très efficace).
Y a ce tuto sur la gestion des collisions : http://openclassrooms.com/courses/theorie-des-collisions qui est pas mal (les exemples sont en c mais largement comprehensible même si tu connais pas le c
)
Pareil pour les saut c'est assez bien expliqué ici : http://openclassrooms.com.com/courses/les-sauts-2d-en-c