170 похожих чатов

Как проверить,что переменная является array-like типом (list, ndarray, tuple, ...)?

10 ответов

22 просмотра
Сергей-Васильев Автор вопроса

структуры, похожие на список. У меня есть ветвления в зависимости от типа данных. Сначала проверял в тупую if type(var) == list ... . Но потом, когда я класс метода унаследовал от другого класса, то в метод вместо листа (и других коллекций) начали приходить wrapper-типы и условие перестало срабатывать. Хотелось бы подстраховаться от таких приколов

Сергей Васильев
структуры, похожие на список. У меня есть ветвлени...

У списка есть метод append. У array-like должен быть такой метод?

Что вообще ты хочешь делать, если тебе не тот тип передали?

Сергей-Васильев Автор вопроса
Pavel Павлик
Что вообще ты хочешь делать, если тебе не тот тип ...

кидаю исключение. Просто в c_name помимо массивов может еще и строка лежать, поэтому и проверка А вот перебирать все list-like коллекции мне не очень хочется. Поэтому подумал, раз есть аннотация ArrayLike, то соответственно должен быть способ проверки

нет, строка array-like у неё есть индексирование?- есть, всё

rasput
нет, строка array-like у неё есть индексирование?...

ну, ты сам придумываешь, что array-like — это Sequence, я хочу узнать, что под array-like подразумевает тс

Сергей-Васильев Автор вопроса

эта функция используется в методе класса для либы. Понятия не имею, в какую структуру данных пользователь аргумент обернет. К тому же c_name может быть как набором строк так и одной строкой, поэтому приведение типов не получится

Сергей Васильев
эта функция используется в методе класса для либы....

Убери возможность передавать строку, всегда жди Iterable[str]. В рантайме тип ен проверяй, поставь тайпхинт

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта