this post was submitted on 15 Sep 2023
35 points (97.3% liked)

Python

6360 readers
12 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
 

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 (4 children)

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 (2 children)

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) (1 children)

@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 (1 replies)