Python Dynamically Create Function Signature