protocol_1.py 448 B

12345678910111213141516171819202122232425262728293031
  1. from typing import Protocol
  2. class Animal(Protocol):
  3. def walk(self) -> None:
  4. ...
  5. def speak(self) -> None:
  6. ...
  7. class Dog:
  8. def walk(self):
  9. print("This is a dog walking")
  10. def speak(self):
  11. print("Woof!")
  12. def make_animal_speak(animal: Animal):
  13. animal.speak()
  14. def main():
  15. dog = Dog()
  16. make_animal_speak(dog)
  17. if __name__ == '__main__':
  18. main()