Use str(p) and not p.__str__()