I think pygame doesn't have complex functions to get collisions. But now to your question:
You can just calculate the angle between your ball and the paddle and use this for the direction of bouncing.
Maybe I do something really silly but this function will work for calculating the angle:
#returns angle and distance between two points
def angle_distance(x1,y1,x2,y2):
distance = ((x1 - x2)**2 + (y1 - y2)**2)**0.5*pos_neg(y1 - y2)
try:
angle = math.acos((x1 - x2)/distance)/math.pi*180 + 180*(y1 - y2 >= 0)
except ZeroDivisionError:
angle = 0
return angle,abs(distance)
#returns -1 or 1 if value is negative or positive
def pos_neg(value):
return ((value >= 0)*2-1)
I hope this will help. If you want some more kollision stuff, also for rotated rectangles, just ask.