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.

  • Narann
    link
    fedilink
    English
    arrow-up
    2
    ·
    7 days ago

    Does not seems to work on 3.12:

    Python 3.12.11 (main, Jun 29 2025, 16:18:35) [MSC v.1944 64 bit (AMD64)] on win32
    >>> def toto(tata=>[]):
      File "<stdin>", line 1
        def toto(tata=>[]):
                      ^
    SyntaxError: invalid syntax
    
    • logging_strict@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      4 days ago

      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.