Python keyword arguments unpack and return dictionary
If that way is suitable for you, use kwargs (see Understanding kwargs in Python) as in code snippet below:
def generate_student_dict(self, **kwargs): return kwargs
Otherwise, you can create a copy of params with built-in locals()
at function start and return that copy:
def generate_student_dict(first_name=None, last_name=None , birthday=None, gender =None): # It's important to copy locals in first line of code (see @MuhammadTahir comment). args_passed = locals().copy() # some code return args_passedgenerate_student_dict()
If you don't want to pass **kwargs
, you can simply return locals
:
def generate_student_dict(first_name=None, last_name=None, birthday=None, gender=None): return locals()
Note that you want to remove self
from the result if you pass it as an argument.
Get keyword arguments in **kwargs
def generate_student_dict(self, **kwargs): # use it like # kwargs.get('first_name') # kwargs.get('last_name') # kwargs.get('birthday') # kwargs.get('gender') return kwargs