Sobes.tech
Junior — Middle
91

¿Puede explicar el concepto de tipificación por comportamiento (duck typing) en Python?

Empresas donde se preguntó
ArendadataArendadata
Фабрика РешенияФабрика Решения
Атом Безопасность

Respuesta de la IA

sobes.tech AI

Утилизация типов (duck typing) в Python — это концепция, при которой тип объекта определяется не по его классу, а по наличию определённых методов и свойств. Если объект ведёт себя как нужный тип (например, поддерживает нужные операции), то он считается подходящим.

Фраза "Если что-то выглядит как утка, плавает как утка и крякает как утка, значит это утка" отражает суть duck typing.

Например, функция может принимать любой объект, который поддерживает метод write(), не заботясь о том, к какому классу он принадлежит:

def write_hello(file_like):
    file_like.write('Hello')

class File:
    def write(self, text):
        print(f'Writing to file: {text}')

class Logger:
    def write(self, text):
        print(f'Logging: {text}')

write_hello(File())   # Writing to file: Hello
write_hello(Logger()) # Logging: Hello

Таким образом, важен интерфейс объекта, а не его конкретный тип.