About this question
How do you implement interfaces in Python, given that it doesn’t have a built-in interface keyword like some other languages? What are the common ways to create and use interfaces in Pythonic style?
How do you implement interfaces in Python, given that it doesn’t have a built-in interface keyword like some other languages? What are the common ways to create and use interfaces in Pythonic style?
Log in to share your answer and help other learners.
Log in to answerBest Answer · By JanBask Python Expert
Answered on May 21, 2025
In Python, unlike languages like Java or C#, there’s no direct interface keyword. However, you can still implement interfaces using a few Pythonic approaches that ensure your classes follow a specific structure or contract.
1. Using Abstract Base Classes (ABCs)
The most common and formal way to implement interfaces in Python is by using the abc module.
from abc import ABC, abstractmethod
class Animal(ABC):
@abstractmethod
def make_sound(self):
pass
class Dog(Animal):
def make_sound(self):
print("Bark!")2. Duck Typing (Pythonic way)
class Cat:
def make_sound(self):
print("Meow!")
def animal_sound(animal):
animal.make_sound()As long as the object passed to animal_sound() has a make_sound() method, it works.
Summary:
Free tutorials and interview questions from industry experts — learn the skill, then get ready to prove it.
Most-read guides across JanBask
Common Python interview questions, answered
Guides, tips and career advice on Python from JanBask experts.
Python How to Become a Python Developer: A Step-by-Step Guide for Beginners
Discover how to become a Python Developer via a practical 7-step guide build projects, maintain clean code, practice daily, and…
Python PCEP Certification Guide: Entry-Level Python Programmer Certification
Explore this PCEP certification guide for insights on cost, exam format, passing score, application, training, and study tips.…
Python Top 50+ Python Projects ideas for Beginners to Advanced
Discover innovative Python project ideas, explore advanced Python projects, and find good Python projects for beginners and…
Python How To Comment Out Multiple Lines In Python Like A Pro
Commenting out code is a common practice among programmers. It allows you to temporarily disable parts of your code without…