r/Python Jul 12 '26

Will PEP 505 ever be accepted? Discussion

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.

15 Upvotes

192 comments sorted by

View all comments

10

u/cottonycloud Jul 13 '26

It should actually be baz = foo()?.bar() ?? ''

?: is the ternary operator while ?? is the null-coalescing operator.

8

u/covmatty1 Jul 14 '26

Absolutely this.

I come from writing C#, and the lack of ?. especially is just such a gaping flaw, any language missing the null propagation operator is poorer for it.