Kw_assign Require Arg
Values can be required by adding require args to kw_assign() method.
In the following first and second args are required
from kwhelp import KwArg
def my_method(**kwargs) -> str:
kw = KwArg(**kwargs)
# assign args
kw.kw_assign(key='first', require=True, types=[int])
kw.kw_assign(key='second', require=True, types=[int])
kw.kw_assign(key='msg', types=[str], default='Result:')
kw.kw_assign(key='end', types=[str])
_result = kw.first + kw.second
if kw.is_attribute_exist('end'):
return_msg = f'{kw.msg} {_result}{kw.end}'
else:
return_msg = f'{kw.msg} {_result}'
return return_msg
first and second are required. msg is not required and has a default value.
end is not required.
>>> result = my_method(first=10, second=22)
>>> print(result)
Result: 32
Output when optional args end and msg are included.
>>> result = my_method(first=10, second=22, end="!", msg="Tally")
>>> print(result)
Tally 32!
Method will raise an error as msg must be of type str as defined by types
>>> result = my_method(first=10)
ValueError: KwArg arg 'second' is required