35
submitted 1 year ago* (last edited 1 year ago) by nikaro@jlai.lu to c/python@programming.dev

This is like Interface in Go (or Java, i don't speak Java but the article say so).

you are viewing a single comment's thread
view the rest of the comments
[-] NostraDavid@programming.dev 1 points 1 year ago

OK, but why would I use this over ABCs? (Abstract Base Class). Or is it just different?

[-] nikaro@jlai.lu 1 points 1 year ago

From what i understand, Protocol is for custom interfaces that you define (this object must have do_x() method), while ABCs are generic (this object is iterable).

[-] twoframesperminute@mastodon.social 0 points 1 year ago* (last edited 1 year ago)

@nikaro iterable means: has __iter__() method. So there's no real difference, as far as I can see.

[-] nikaro@jlai.lu 1 points 1 year ago

The difference is that with Protocol you can define which method presence you want to ensure. Like i said: custom vs. generic.

load more comments (2 replies)
this post was submitted on 15 Sep 2023
35 points (97.3% liked)

Python

6347 readers
3 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