Sobes.tech
Junior — Middle
103

Puteți explica conceptul de tipare de rață (duck typing) în limbajul Python?

Companiile au fost întrebate
ArendadataArendadata
Фабрика РешенияФабрика Решения
Атом Безопасность

Răspuns de la AI

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

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