Объект называют «объектом первого класса», если он[3][4]:
может быть сохранен в переменной или структурах данных;
может быть передан в функцию как аргумент;
может быть возвращен из функции как результат;
может быть создан во время выполнения программы;
внутренне самоопознаваем (независим от именования).