@ru_python

Страница 7275 из 9768
Костя
04.12.2018
08:57:14
сделал)

у меня когда просыпался минуты наперед отсчитывались, а надо было назад

Bogdan (SirEdvin)
04.12.2018
09:02:49
Нафиг аттрс. Лучше стандартная либа
Датаклассы шлак, причем полный

Tishka17
04.12.2018
09:03:02
чойто

Google
Bogdan (SirEdvin)
04.12.2018
09:03:12
как минимум, даже слоты не завезли туда

Tishka17
04.12.2018
09:03:23
в смысле не завезли?

завезли же

руками если надо

Bogdan (SirEdvin)
04.12.2018
09:03:42
Датаклассы не используют слоты

Tishka17
04.12.2018
09:03:59
а как они их должны использовать?

Aragaer
04.12.2018
09:03:59
/me смотрит на свой код и думает, переписать ли do-цикл через loop

Tishka17
04.12.2018
09:04:02
это обычные классы

Евгений
04.12.2018
09:04:05
как минимум, даже слоты не завезли туда
слоты эт что, где почитать? Связано с сигналами? (как в Qt сигнал-слот)

Tishka17
04.12.2018
09:04:16
хочешь - делай __slots__ и будет работать как обычно

в доке написано будет работать

Bogdan (SirEdvin)
04.12.2018
09:04:49
это обычные классы
Обычные классы с напиханными методами. Аттрс в этом плане куда лучше

Сергей
04.12.2018
09:04:54
хочешь - делай __slots__ и будет работать как обычно
только если тебе дефолты не нужны

Google
Bogdan (SirEdvin)
04.12.2018
09:05:31
хочешь - делай __slots__ и будет работать как обычно
Я перечислил список полей, зачем мне это еще раз делать?)

Ну и нет валидации типов, что очень печально

То есть я понимаю, почему, но обидно

Никита
04.12.2018
09:06:40
Ну и нет валидации типов, что очень печально
Ее в принципе нет. Что очень очень очень печально. Хоть и аннотации типов можно чекнуть с помощью mypy

Tishka17
04.12.2018
09:07:00
Ну и нет валидации типов, что очень печально
валидация - не их задача, а парсера

Я перечислил список полей, зачем мне это еще раз делать?)
мне нечего ответить https://www.python.org/dev/peps/pep-0557/#support-for-automatically-setting-slots https://github.com/ericvsmith/dataclasses/issues/28

Bogdan (SirEdvin)
04.12.2018
09:08:10
валидация - не их задача, а парсера
Их задача - это убрать бойлерплейт. И аттрс в это плане справляются лучше, как минимум слотами

Tishka17
04.12.2018
09:08:42
датаклассы могут работатьт как обычные классы с динамическими атрибутами

народ вон чего запилил https://github.com/ericvsmith/dataclasses/blob/master/dataclass_tools.py

Bogdan (SirEdvin)
04.12.2018
09:12:15
Я так в своей орм тоже сделал. Но это все внешка)

Panda
04.12.2018
09:19:14
Доброго времени суток. Есть вопрос по обработке ошибок. Скраплю сайт и записываю все в переменные, но если элемент не нашелся вылетает ошибка, а при ошибке хотелось бы в переменную записывать просто строку типа "Not found". Переменных много и мне к каждой применять поотдельности try except или можте есть какая-нибудь другая уловка? title_name = title.find('a', {'class': 'title_link'})['title'] series = title.find('h3', {'class': 'original work'}).find('a').text

Костя
04.12.2018
09:21:35
наконец решил эту елку

я так понял спешить решать нет смысла, потому что вы раньше всех встаете, да?

Panda
04.12.2018
09:39:01
.get вместо квадратных скобок
но если элемент не найден ошибка все равно вылетает. Просто у меня на некоторых страницах проскакивают места без элементов.

Tishka17
04.12.2018
09:47:08
ну сделай свою обертку

Google
Tishka17
04.12.2018
09:47:42
у тебя там же где-то скобки, где-то атрибуты через точку

сложно универсальное средствао предложить

Panda
04.12.2018
09:49:54
ну в экзепшн нельзя передавать переменную на которой питон споткнулся?

Panda
04.12.2018
09:51:16
наверно глупость спросил

Alex
04.12.2018
09:52:13
но если элемент не найден ошибка все равно вылетает. Просто у меня на некоторых страницах проскакивают места без элементов.
обрабатывай эти места, проверяй наличие элемента или обрабатывай исключения, если их появление - ожидаемая ситуация

Panda
04.12.2018
09:52:51
обрабатывай эти места, проверяй наличие элемента или обрабатывай исключения, если их появление - ожидаемая ситуация
я просто хотел как-нибудь сократить кол-во строк, не записывая каждую переменную в конструкцию try except

Unit
04.12.2018
09:53:01
используй .get(var_name, None) и getattr(obj, 'attr_name', None)

Unit
04.12.2018
09:53:23
одно для слвоарей а другое для аттриьутов

Bogdan
04.12.2018
09:53:32
есть языки где в принцепе всё нужно оборачивать в аналог try except

Unit
04.12.2018
09:53:34
Bogdan
04.12.2018
09:53:47
зато понятно

Panda
04.12.2018
09:54:01
используй .get(var_name, None) и getattr(obj, 'attr_name', None)
посмотрим подумоем спасибо =)

Unit
04.12.2018
09:54:01
есть языки где в принцепе всё нужно оборачивать в аналог try except
здраствуйте, это чат про языки где в принцепе всё нужно оборачивать в аналог try except?

в питоне любят пропонировать принцип better ask for forgiveness that for permission

я такого мнения не разделяю и считаю что лучшк look befoer you leap

Alex
04.12.2018
09:55:51
“пропонировать”? это из правила 34 штоле?

Google
Unit
04.12.2018
09:55:52
эксепшены должны быть _исключительными_ кейсами

Bogdan
04.12.2018
09:56:06
как скажешь

Unit
04.12.2018
09:58:27
а знаешьпочему?

Admin
ERROR: S client not available

Unit
04.12.2018
10:00:29
потому что все эти ваши эксепшены приводят к онструкциям вида

LighteR
04.12.2018
10:00:39
эксепшены должны быть _исключительными_ кейсами
error коды возвращать, битовые маски и вот это все?

Unit
04.12.2018
10:00:54
try: stuff(); except: pass;

LighteR
04.12.2018
10:01:15
try: stuff(); except: pass;
За такое по рукам бьют на ревью

Unit
04.12.2018
10:01:15
сколько я говна этого увдиал - не счесть

Alex
04.12.2018
10:01:24
За такое по рукам бьют на ревью
только хотел это сказать

SetazeR
04.12.2018
10:01:31
Я читал что это питонический путь

Unit
04.12.2018
10:01:31
кек

Alex
04.12.2018
10:01:34
сколько я говна этого увдиал - не счесть
сколько я этого говна в текущем проекте удалил

Unit
04.12.2018
10:01:49
вы же профессионалы, друзья

Alex
04.12.2018
10:02:02
это не проблема языка, а проблема компетентности тех, кто на нем пишет.

Unit
04.12.2018
10:02:12
ви таки должны знать что в 80% случаев ккод-ревью сводится к тому чтобы заапрувить непрочитав

Google
SetazeR
04.12.2018
10:02:13
https://docs.quantifiedcode.com/python-anti-patterns/readability/asking_for_permission_instead_of_forgiveness_when_working_with_files.html

Alex
04.12.2018
10:02:16
никто не мешает игнорить return value

Unit
04.12.2018
10:02:16
жизнь боль

Panda
04.12.2018
10:02:26
try: stuff(); except: pass;
это зачем так?

SetazeR
04.12.2018
10:02:34
а ну тут конкретный случай

Unit
04.12.2018
10:02:43
ну да

Unit
04.12.2018
10:02:59
есть еще комапании где только тем зианимаются что код ревью друг другу телебольнкают

я не верю в процессы

они все в РФ и постсовке ультраговно

LighteR
04.12.2018
10:03:23
В любом случае, даже если это прошло ревью никто не мешает потом предъявить претензии разработчику по blame'у

Unit
04.12.2018
10:03:25
да в светлом валиноре тоже

Alex
04.12.2018
10:03:43
они все в РФ и постсовке ультраговно
найди компанию с нормальными процессами или построй их у себя сам.

Unit
04.12.2018
10:04:13
рад за вам если у вас дейстивительн олюди читают код н акод ревью

но все таки кажется что ви лукаите

лукавите

LighteR
04.12.2018
10:04:54
нет

Страница 7275 из 9768