
Костя
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

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

Bogdan (SirEdvin)
04.12.2018
09:04:49

Сергей
04.12.2018
09:04:54

Google

Никита
04.12.2018
09:05:23

Bogdan (SirEdvin)
04.12.2018
09:05:31
Ну и нет валидации типов, что очень печально
То есть я понимаю, почему, но обидно

Никита
04.12.2018
09:06:40

Tishka17
04.12.2018
09:07:00

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

SetazeR
04.12.2018
09:21:01

Костя
04.12.2018
09:21:35
наконец решил эту елку
я так понял спешить решать нет смысла, потому что вы раньше всех встаете, да?

Tishka17
04.12.2018
09:36:47

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
ну в экзепшн нельзя передавать переменную на которой питон споткнулся?

Alex
04.12.2018
09:50:55

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

Unit
04.12.2018
09:51:25
норм юзкейс

Alex
04.12.2018
09:52:13

Panda
04.12.2018
09:52:51

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

Bogdan
04.12.2018
09:53:12

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

Unit
04.12.2018
09:54:01
в питоне любят пропонировать принцип 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:56:28

Alex
04.12.2018
09:58:19

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

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

LighteR
04.12.2018
10:01:15

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

LighteR
04.12.2018
10:02:34

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

Unit
04.12.2018
10:02:43
ну да

Alex
04.12.2018
10:02:46

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
нет