Way to pass multiple parameters to a function in python
parameter-passing, parameters, python, python-2.7
Solution
test function:
You can use multiple arguments represented by `*args` and multiple keywords represented by `**kwargs` and passing to a function:
def test(*args, **kwargs):
print('arguments are:')
for i in args:
print(i)
print('\nkeywords are:')
for j in kwargs:
print(j)
Example:
Then use any type of data as arguments and as many parameters as keywords for the function. The function will automatically detect them and separate them to arguments and keywords:
a1 = "Bob" #string
a2 = [1,2,3] #list
a3 = {'a': 222, #dictionary
'b': 333,
'c': 444}
test(a1, a2, a3, param1=True, param2=12, param3=None)
Output:
arguments are:
Bob
[1, 2, 3]
{'a': 222, 'c': 444, 'b': 333}
keywords are:
param3
param2
param1
Problem
I have written a python script which calls a function. This function takes 7 list as parameters inside the function, something like this: ``` def WorkDetails(link, AllcurrValFound_bse, AllyearlyHLFound_bse, AlldaysHLFound_bse, AllvolumeFound_bse, AllprevCloseFound_bse, AllchangePercentFound_bse, AllmarketCapFound_bse): ``` where all the arguments except `link` are lists. But this makes my code looks pretty ugly. I pass these lists to this function because the function appends few values in all of these lists. How can I do it in more readable way for other users?