@ru_python

Страница 6090 из 9768
Tigran
31.07.2018
17:39:15
Я с какого-то момента перестал писать краткие if a:
Я всегда стараюсь конкретные писать, типа if a is not None: За исключением редких случаев вроде match = re.match(...) if match: ...

Mark
31.07.2018
17:39:16
if a.__bool__():?
Да просто явно: if a ==

Mike
31.07.2018
17:39:23
равно как и f(*args) или я не прав?
Да, но *args в других случаях используется

у вас не он

Google
Tigran
31.07.2018
17:40:08
это религиозный вопрос или есть best practice?
Если известен список аргументов, надо писать конкретные. Это ещё и IDE-friendly.

Ievgen
31.07.2018
17:41:00
Окей

Учту

*args vs все переменные?

Ну и если ещё что то, буду рад послушать, спасибо

ivan
31.07.2018
17:47:37
Ievgen
31.07.2018
17:48:04
имеется ввиду короткие названия вместо осмысленных?

ivan
31.07.2018
17:48:12
Да

Ievgen
31.07.2018
17:48:39
да, ты прав, не очень красиво

ок

учту

Google
ivan
31.07.2018
17:48:52
Типо, такие имена имеет смысл давать во всяких там циклах , для счетчиков и тд Т.е для переменных, которые не несут никакого особо смысла

Ievgen
31.07.2018
17:50:57
по логике циклов может какие то замечания есть?

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

Maxim robox
31.07.2018
17:56:46
Зачем делать def f(*args): a, b, c = args Если можно сразу def f(a, b, c): ?
Разница в количестве аргументов, которое может принять функция.

Nikolay
31.07.2018
17:58:00
Разница в количестве аргументов, которое может принять функция.
так в первом случае она все равно упадет, если их не три

ivan
31.07.2018
17:58:34
Разница в количестве аргументов, которое может принять функция.
Ну так остальные аргументы просто игнорятся. Т.е мы и так знаем, что их будет ровно 3

Maxim robox
31.07.2018
17:59:02
Nikolay
31.07.2018
17:59:19
too many values to unpack

а стоп, нет, ты прав. Со звездочкой не упадет

нет, неправ

упадет

не упадет вот в каком случае: def f(*args): a, b, *c = args

Maxim robox
31.07.2018
18:01:18
не упадет вот в каком случае: def f(*args): a, b, *c = args
Тогда последний будет кортежем, я полагаю.

Maxim robox
31.07.2018
18:01:44
Тогда a, b, c, *_ = ... ?

Проксимов
31.07.2018
18:02:00
Тогда a, b, c, *_ = ... ?
Только зачем?

Maxim robox
31.07.2018
18:02:15
Nikolay
31.07.2018
18:02:20
Только зачем?
потому что можно

Влад
31.07.2018
18:05:05
За такие конструкции я бы руки бы поотрывал, да на место правильное пришил, а то что они из жопы-то торчат...

Google
Влад
31.07.2018
18:05:49
Если в функцию летит аргументов больше, чем положено, то это не проблема функции.

Nikolay
31.07.2018
18:06:21
За такие конструкции я бы руки бы поотрывал, да на место правильное пришил, а то что они из жопы-то торчат...
ну вообще зря, в том же эрланге head, *tail = container - это прям один из корневых механизмов функциональной магии

Nikolay
31.07.2018
18:07:08
На кой нам ваш фп? Тут нормальные люди собрались
не путай, у нормальных уже фп. Тут мы обсуждаем лишь, как без него трудно жить

Nikolay
31.07.2018
18:07:59
А сколько положено?
сколько в уставе написано

Проксимов
31.07.2018
18:08:18
Ни дня без reduce
Так активно юзали, что его даже из стдлиб убрали

Nikolay
31.07.2018
18:08:41
вынесли в functools

а еще добавили совершенно шикарный itertools.accumulate()

Проксимов
31.07.2018
18:09:09
Ну я это имел в виду

Nikolay
31.07.2018
18:09:29
Ну я это имел в виду
ну тащемта на питоне функционально писать отлично

Влад
31.07.2018
18:11:05
ну вообще зря, в том же эрланге head, *tail = container - это прям один из корневых механизмов функциональной магии
Что мешает передать container одним аргументом, а не кучей аргументов? Речь идёт не о распаковке списков, а о передаче аргументов в функцию.

К распаковке я ничего плохого не имею, равно как и к фп. Но когда в объявлении функции не понятно, что именно в неё можно передать - это очень плохо.

Проксимов
31.07.2018
18:12:02
ну тащемта на питоне функционально писать отлично
Может и отлично, только вот читабельного фп я давно не видел

Nikolay
31.07.2018
18:12:13
Проксимов
31.07.2018
18:12:50
примерно любой код на кложуре
Это же обсуждение питона было

Google
Проксимов
31.07.2018
18:13:03
К чему тут кожура?

Maxim robox
31.07.2018
18:13:07
ФП кайф

Уметь бы еще

El Mariachi
31.07.2018
18:13:57
в чем кайф фп?

Nikolay
31.07.2018
18:14:12
Это же обсуждение питона было
https://www.youtube.com/watch?v=Lg4teSlwowM

в чем кайф фп?
гораздо меньше шансов сделать ошибку, и проще описать все математически

ну и это незаменимо на распределенных архитектурах

Admin
ERROR: S client not available

Проксимов
31.07.2018
18:16:23
Каким образом в фп меньше шансов сделать ошибку?

Nikolay
31.07.2018
18:16:44
Проксимов
31.07.2018
18:16:47
Каким образом в фп меньше шансов сделать ошибку?
Наоборот, чтобы юзать фп нужно понимать, что там под капотом

Nikolay
31.07.2018
18:16:55
у тебя стейт программы определяется стеком вызовов

Наоборот, чтобы юзать фп нужно понимать, что там под капотом
неа, ты просто используешь функции так, как они есть в математике

Проксимов
31.07.2018
18:17:40
неа, ты просто используешь функции так, как они есть в математике
Лол, дай математику питон и фп и он всё напишет

Программисты не нужны

Nikolay
31.07.2018
18:18:00
Программисты не нужны
помимо чисто математических задач есть еще и более хардкорные, требующие знания окружения и нематематических навыков

но когда речь идет о, скажем, алгоритмах выбора лидера или согласовании распределенной системы - то такие вещи и должны решаться на фп

Google
Nikolay
31.07.2018
18:19:32
там нет места мутабельности и сайд эффектам

Mark
31.07.2018
18:29:38
Кстати, о математике.

Секундочку



Ляман
31.07.2018
18:50:15
Как в строке убрать все знаки кроме чисел?

Nikolay
31.07.2018
18:51:02
Vaderoff
31.07.2018
18:52:28
Чуваки, в джанго все молчат, но может тут

Есть апп, нужно чтобы все урлы которые принадлежат этому аппу требовали авторизацию как это сделать в одно действие, а то пока только нашел костыль в виде декоратора к каждой функции во вью

Вупи
31.07.2018
18:53:18
Гуглить пробовал?

Vaderoff
31.07.2018
18:53:56
Гуглить пробовал?
Да, ничего нормального не нашел

Vaderoff
31.07.2018
18:54:33
еще есть способ через миддлвэр, но он глобален, а мне только один апп закрыть надо

или мне в этом миддлвере просто сделать иф

на проверку аппа

Вупи
31.07.2018
18:55:22
А в чем проблема с декораторами?

Vaderoff
31.07.2018
18:55:39
Denis
31.07.2018
18:55:49
Навесь декоратор в urls сразу на все

Vaderoff
31.07.2018
18:55:53
Выглядит как-то неправильно

.
31.07.2018
18:56:12
Нет случайно каких то препятствий, чтобы создать множество из словарей?

Denis
31.07.2018
18:56:52
Можно и так, но лучше автоматизировать

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