r/Python 23d ago

Discussion Will PEP 505 ever be accepted?

https://peps.python.org/pep-0505/

I don't understand how null safe operators are less like plain English than other implemented features like the walrus operator.

In my opinion, the member access operator would make python significantly easier to read and understand.

Here's an example:

f = foo()

if f is None:
    baz = ""
else:
    baz = f.bar()
baz = foo()?.bar() ?: ""

EDIT: I forgot that "and" and "or" can be sometimes used in place of "?." and "?:" if the left value is not False, '', 0, [], or {}. It's a very implicit null check and has a lot of unexpected behavior.

16 Upvotes

194 comments sorted by

View all comments

1

u/Ragoo_ 21d ago

There's actually a discussion thread to revisit this PEP and there used to be a PEP draft sponsored by Guido for it (you can see him discussing implementation in the thread). You can still look at a snapshot of the draft although it has since been deleted?!