@ru_python

Страница 2751 из 9768
Donaudampf
28.04.2017
21:33:08
а, вот оно чо

сегодня прямо день открытий

TIL про конструкцию for ... else

Nikolay
28.04.2017
21:34:51
TIL про конструкцию for ... else
это, кстати, неявное говно

Google
Nikolay
28.04.2017
21:34:58
я его пробовал использовать - потом забросил

Donaudampf
28.04.2017
21:36:03
ну это как будто специально под очень частный случай запилили

так, что сразу и не вспомнишь

Aragaer
28.04.2017
21:37:25
for else это нормально, по сравнению с сишно-плюсово-прочим for (i = 0; i < count; i++) if (arr[i] == 10) break; if (i == count) printf("Not found\n")

Nikolay
28.04.2017
21:37:50
Aragaer
28.04.2017
21:38:35
ну в смысле есть некий список, надо найти первый подходящий под условие, либо понять, что ничего не нашли

Nikolay
28.04.2017
21:38:58
в питоне же можно всегда как-то так: def func(): do_something() or raise StopIteration() map(func, iterable)

Aragaer
28.04.2017
21:39:02
а питоновское for else это оно и есть, просто не надо дублировать условие

Nikolay
28.04.2017
21:40:12
next(ifilter(...))

?

Aragaer
28.04.2017
21:40:43
и еще в enumerate завернуть, угу

а если там чуть более сложные действия требуются для проверки?

Google
Nikolay
28.04.2017
21:41:02
next(ifilter(...))
не покатит, если accumulate

Aragaer
28.04.2017
21:41:22
типа есть список урлов, надо найти первый, который сдох.

Nikolay
28.04.2017
21:41:38
Nikolay
28.04.2017
21:41:52
HEAD запрос

Nikolay
28.04.2017
21:42:02
более сложное - это, скажем, найти первый случай, когда в последовательности что-то повторяется два раза подряд

Aragaer
28.04.2017
21:42:26
или там есть список файлов, надо найти первый, который не существует, удалить его из списка и что-то потом сделать, иначе выйти с ошибкой

или там вставка релатив таймера в нужную позицию

Nikolay
28.04.2017
21:43:11
сложнее, когда надо знать несколько предыдущих результатов

Aragaer
28.04.2017
21:44:56
короче в императивных языках такая конструкция - цикл до определенного ограничения типа конца списка, но если нашли что-то, то брейк, а потом надо понять - нашли или все-таки конец - это довольно частая штука

Nikolay
28.04.2017
21:45:18
Больно

Aragaer
28.04.2017
21:46:13
while else тоже можно ровно по той же причине

Aragaer
28.04.2017
21:57:35
зачем мне извращаться с try-except, если есть нормальный for-else

кстати, не удивлюсь, если for-else реализован через try-except StopIteration

Саня
28.04.2017
21:59:09
Привет, чуваки.

Простите, что не по теме.Какие фильмы посмотреть?Уезжаю просто,накачивать буду.

lexleo
28.04.2017
22:01:20
The Voices(2014)

Google
Саня
28.04.2017
22:01:28
Про что он?

Человеческая многоножка

Про что он?

Donaudampf
28.04.2017
22:01:50
кстати, не удивлюсь, если for-else реализован через try-except StopIteration
а зачем так? он же подразумевает выход по break, или break StopIteration кидает? о_О

Dmitriy
28.04.2017
22:01:50
Научно популярная комедия

lexleo
28.04.2017
22:01:52
Про маньяка, Рейнольдс круто сыграл

Rocket
28.04.2017
22:02:00
Nikolay
28.04.2017
22:02:12
Треш.
Ты не понимаешь ничего

Там 2-ая часть еще есть.

Саня
28.04.2017
22:02:32
Про маньяка, Рейнольдс круто сыграл
оке,этот скачаю.на многоножке оценка 3.9 чет,а тут 6.9,норм

Rocket
28.04.2017
22:02:34
Я и смотреть не стал...

Dmitriy
28.04.2017
22:02:54
Там 2-ая часть еще есть.
Там есть и третья часть

Nikolay
28.04.2017
22:03:09
Get out (2017)

lexleo
28.04.2017
22:04:03
Arrival(2016), Prometheus(2012)

Саня
28.04.2017
22:04:08
оке,спасибо люди,будет что посмотреьь на выходных,где инет 2г;(

Саня
28.04.2017
22:04:52
-

Rocket
28.04.2017
22:05:21
-
Вот из скачай. Оба фильма. Сначала старый смотри, потом новый.

Aragaer
28.04.2017
22:06:32
а зачем так? он же подразумевает выход по break, или break StopIteration кидает? о_О
else срабатывает именно если не было break, то есть случился StopIteration

Google
Rocket
28.04.2017
22:07:28
else срабатывает именно если не было break, то есть случился StopIteration
Очень нужная фича. Юзаю в циклах с поиском чего либо.

Donaudampf
28.04.2017
22:08:48
else срабатывает именно если не было break, то есть случился StopIteration
а, в этом смысле. Тогда это практически не отличается от просто for

Aragaer
28.04.2017
22:11:48
ну просто я говорю, что конструкция "пройти по списку в поисках чего-то, а потом проверить, нашлось ли что-нибудь" это нормально и часто попадается и поэтому for-else это удобно

а меня тут начинают потчевать ifilter и raise StopIteration

Rocket
28.04.2017
22:12:22
а, в этом смысле. Тогда это практически не отличается от просто for
Отличается. if not после for конечно никто не отменял, но с else намного удобнее. К тому же - минус одна переменная в коде.***

Donaudampf
28.04.2017
22:12:33
Отличается. if not после for конечно никто не отменял, но с else намного удобнее. К тому же - минус одна переменная в коде.***
нет, в плане внутреннего устройства. В обычном for - перехват StopIteration и сразу переход к дальнейшему коду, в случае for else - тот же перехват, только ещё есть код в except блоке, который мы в else написали

Admin
ERROR: S client not available

Rocket
28.04.2017
22:18:24
Не хватает elfor ?

Чтобы поискать в другом месте, если в первом не нашлось.

Donaudampf
28.04.2017
22:19:51
и в конце ещё oyvse

Rocket
28.04.2017
22:22:01
raise oyvse(iterable)

Danila
28.04.2017
22:28:29
В джанге при описании модели с внешним ключем есть on_delete, а что с on update ?

Danila
28.04.2017
22:33:10
Зачем нужен контроль целостности базы данных ?

Nite
28.04.2017
22:35:21
Чтобы бы она была целостной

Rocket
28.04.2017
22:36:20
Зачем нужен контроль целостности базы данных ?
А нахрена тебе данные, например, о состоянии счета, если ты не можешь быть уверен, что они верные?

Ты б стал таким банком пользоваться, где за целостностью твоего счета не следят? ?

Danila
28.04.2017
22:37:38
Прощеньица просим конечно, но это был не вопрос это был ответ денису боброву

Google
Danila
28.04.2017
22:38:24
народ как констреинт на ON UPDATE в джанго модели сделать

Igor
28.04.2017
22:38:49
можно триггер на post_save повесить

https://docs.djangoproject.com/en/1.11/ref/signals/#django.db.models.signals.post_save

Danila
28.04.2017
22:40:17
ок, то что на уровне приложения можно что то придумать я догадывался, меня интересует именно чтобы был сгенерирован тру sql

Igor
28.04.2017
22:40:45
че мешает выкрутить логгинг на максимум и посмотреть, генерируется ли тру sql или нет, и если нет - написать самому

Danila
28.04.2017
22:40:50
странно просто on_delete есть а апдейта не найти

Igor
28.04.2017
22:41:14
Denis
28.04.2017
22:41:21
Danila
28.04.2017
22:42:26
Речь о том что в доках есть такое class Choice(models.Model): question = models.ForeignKey(Question, on_delete=models.CASCADE) choice_text = models.CharField(max_length=200) votes = models.IntegerField(default=0)

и мне нужен on_update

Denis
28.04.2017
22:42:41
Да я воткнул уж

Igor
28.04.2017
22:42:42
ты уже десять раз сказал про on_delete

если ты скажешь в одиннадцатый - on_update не появится.

Danila
28.04.2017
22:43:05
да да сорян, я правильно понял что его просто нет

Igor
28.04.2017
22:43:15
чертовски правильно

Danila
28.04.2017
22:43:22
А в чем прикол не знаешь ?

Dmitriy
28.04.2017
22:43:24
???

Igor
28.04.2017
22:43:39
полагаю, в том, что не все движки баз данных поддерживают этот констрейнт. не знаю, я не разработчик джанги.

чем не устраивает pre_save/post_save?

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