Avoiding boilerplate by using immutable default arguments
Hi, I recently realised one can use immutable default arguments to avoid a chain of:
def append_to(element, to=None):
if to is None:
to = []
at the beginning of each function with default argument for set, list, or dict.
7 replies
This is the way you're supposed to write it in Python.
It is something you get used to, yet I think it's sad.
You can use mutable default arguments now with a new syntax:
https://peps.python.org/pep-0671/
Oh wow! This would be great I really hope it's accepted and implemented, makes a lot of sense!
This is only a Draft for now though
Does not seems to work on 3.12:
Upvote for the sanity check.
As the OP mentioned, this is a proposed/draft feature that may or may not ever happen.
With these kinda posts, should start a betting pool. To put money down on whether this feature sees the light of day within an agreed upon fixed time frame.
Thank you