Необязательная типизация относится к Необязательному импорту из from typing import Optional
. Он позволяет вам указывать типы, которые должны поддерживаться или иметь значение None
(см .: Как использовать подсказку необязательного типа? ). Печатание утки относится к практике в питоне "если он крякает как утка и ходит как утка, то это утка". Другими словами, если у вас есть что-то итеративное, имеет длину и т. Д., Тогда, хотя это может быть не совсем список, вы можете рассматривать это как список. см эту ссылку .