this post was submitted on 18 Nov 2024
17 points (100.0% liked)

Python

6405 readers
5 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

πŸ“… Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

🐍 Python project:
πŸ’“ Python Community:
✨ Python Ecosystem:
🌌 Fediverse
Communities
Projects
Feeds

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] pnutzh4x0r@lemmy.ndlug.org 7 points 6 days ago (3 children)

Path objects also override the / operator to join paths

This is both cool and gross... gives me C++ vibes (operator overloading abuse).

[–] Midnitte@beehaw.org 3 points 6 days ago

A great joy when working with people on a combination of Windows/MacOS/Linux.

Hell, even great when your laptop is windows and desktop (or even raspberry pi) is Linux

[–] Fred@programming.dev 2 points 6 days ago

Scapy is another library where they redefined / to layer packets, such that you can write:

IP(dst="172.23.34.45") / UDP() / DNS(…)

Then Scapy has magic so that on serialisation, the UDP layer knows defaults to dport=53 if the upper layer is DNS, and it can access the lower layer to compute its checksum.

And don't forget that strings have a custom % (as in modulo) operator for formatting:

"Hello %s" %(username)

Of course in modern Python, f-strings will almost always be more convenient

[–] Diplomjodler3@lemmy.world 0 points 6 days ago (1 children)

They could have chosen a better operator. But the functionality is fantastic. Makes working with paths so much easier. And you can even use slashes on windows paths.

[–] leds@feddit.dk 6 points 6 days ago (1 children)

It makes the code so much more clean and readable since you're dropping multiple levels of brackets , for example

os.path.join( a, b, os.path.dirname(c))

Becomes

a / b / c.parent

I really like it

[–] Diplomjodler3@lemmy.world 2 points 6 days ago

I always hated os.path. pathlib is just so much better.