3 ms·
python does this pretty elegantly: def my_func(a: int, b: int): print(a+b) # both of these can be used my_func(1, 2) my_func(a=1, b=2)
by ashtuchkin 1y ago
python does this pretty elegantly:
def my_func(a: int, b: int):
print(a+b)
# both of these can be used
my_func(1, 2)
my_func(a=1, b=2)
- sixo 1y agoThis isn't what I'm talking about. I would want def my_func(a: int, b: int): ... def my_func2(args: my_func.__args_type__): ... with `my_func.__args_type__` standing for an object like `{a: int, b: int}`.
- ziofill 1y agoAlso `my_func(**{a:1, b:2})`
- ImageXav 1y agoEven better, python has named tuples [0]. So if you have a tuple that you are sure will always have the same inputs you can declare it: ``` Point = namedtuple('Point', 'x y') pt1 = Point(1.0, 5.0) ``` And then call the X or Y coordinates either by index: pt1[0], pt1[1], or coordinate name: pt1.x, pt1.y. This can be a really handy way to help people understand your code as what you are calling becomes a lot more explicit. [0] https://stackoverflow.com/questions/2970608/what-are-named-tuples-in-python https://stackoverflow.com/questions/2970608/what-are-named-t...