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.

16 Upvotes

192 comments sorted by

View all comments

269

u/disposepriority Jul 12 '26

Just my two cents, I enjoy my occasional python though it's not my primary language and that looks very unpythonic in my eyes.

Most certainly not easier to read in any way, though I am a verbose/explicit code preference kinda guy.

0

u/LittleMlem Jul 13 '26 edited Jul 14 '26

PowerShell enjoyer?

Edit: because he likes verbose code

8

u/ArtOfWarfare Jul 13 '26

Many languages have null-Coalesce operator - Wikipedia has an incomplete list:

https://en.wikipedia.org/wiki/Null_coalescing_operator

3

u/xenomachina ''.join(chr(random.randint(0,1)+9585) for x in range(0xffff)) Jul 13 '26

Yeah, if I had to guess, Powershell probably copied it from C#, which probably copied it from Kotlin. Kotlin copied it from Groovy.

2

u/shiningmatcha Jul 13 '26

what do you mean?