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

"По красоте" это "выкинул ненужный мэтч нахуй", так?

33 ответов

38 просмотров

Туда его

"по красоте" - это изменил немного запрос в базу, и написал по совету человека такую проверку:

экономим память, не создаем лишние переменные 👽

Синтаксис позволяет написать чуть элегантнее (имхо), то почему бы не воспользоваться возможностью?

Mark Zemlyanskikh
экономим память, не создаем лишние переменные 👽

Да в пятоне же не переменные, а что-то типа ссылочных имён, которые на объекты ссылаются, из-за чего можно всё красиво расписывать, не опасаясь за память

Johnny Frideswide
Да в пятоне же не переменные, а что-то типа ссылоч...

А объекты на которые ссылаются, где по твоему находятся?

Artem
А объекты на которые ссылаются, где по твоему нахо...

Если на один объект будет ссылаться 2 или более ссылки, то ничего страшного

Johnny Frideswide
Да в пятоне же не переменные, а что-то типа ссылоч...

да это прикол был прошу прощения, что взбудоражил вас написать большое сообщени)

Влад Каверов
Синтаксис позволяет написать чуть элегантнее (имхо...

Эта "элегантность" уже немного устарела и схему с x = x or y документация предлагает заменять на x = x if x else y как более универсальное и настраиваемое решение.

Artem
Я не об этом спросил

А, ну если хочешь чтобы я тебя учил, то лучше гуглом воспользуйся 👍👍👍👍🏿👍🏿

Artem
Ну сливайся, ладошки

Не понимаю, неужели я должен за бесплатно обучать студента 🤔🤔🤔 Если хочешь что-то узнать, то используй первоисточники. Я сейчас про арену начну бред нести, так лучше используй проверенные источники

Mark Zemlyanskikh
ну раз вы настаиваете)

Кстати, language может быть, например, пустой строкой?

evle
Кстати, language может быть, например, пустой стро...

нет, language прилетает либо строкой (например "ru_RU"), либо None

evle
Кстати, language может быть, например, пустой стро...

мне стало интересно, а к чему вы вопрос этот задали?

Mark Zemlyanskikh
мне стало интересно, а к чему вы вопрос этот задал...

lang = "" lang = lang or "something" Если пустая строка — валидный вариант, это будет вести себя неправильно. Если у тебя есть жёсткое условие, что строка пустой быть не может (или что пустая строка эквивалентна None), то вариант с or имеет право на жизнь. В противном случае нужно проверять явным образом.

evle
lang = "" lang = lang or "something" Если пустая с...

Как по мне, вариант с enum бы решил все проблемы и был бы более удобным 🤔🤔🤔🤔

Johnny Frideswide
Как по мне, вариант с enum бы решил все проблемы и...

enum тут вообще перпендикулярен и к исходному вопросу отношения не имеет.

evle
enum тут вообще перпендикулярен и к исходному вопр...

Ну почему же: легче было бы проверять на валидность языка, иначе кидать дефолт. Где-то видел вариант с матчкейс красивый

Johnny Frideswide
Ну почему же: легче было бы проверять на валидност...

В задаче — валидация входного параметра по сути. enum появляется после валидации (ну или в результате).

evle
В задаче — валидация входного параметра по сути. e...

Если описать модель валидных параметров языка (enum'ом), то можно одной конструкцией проверять. Или дело вообще в существовании параметра? Ну даже так эту проблему решает моё решение

Johnny Frideswide
Если описать модель валидных параметров языка (enu...

class Fruit(Enum): Apple = 4 Orange = 5 Pear = 6 @classmethod def has_value(cls, value): return value in cls._value2member_map_ print(Fruit.has_value(5)) # True print(Fruit.has_value(7)) # False

Zart- Автор вопроса
evle
lang = "" lang = lang or "something" Если пустая с...

да, я в принципе, так и думал я проверял, у меня гарантировано прилетает либо None, либо не пустая строка

Языки читаются из базы данных. Ты хочешь их продублировать и запихать в модели. Понятно, что они уже сейчас на кой-то чёрт захардкожены, но это не повод заменять легко исправляемую проверку на вхождение в список доступных языков на нечто более монолитное. Зачем?

evle
Языки читаются из базы данных. Ты хочешь их продуб...

Ну по факту 🤔🤔 даже если использовать enum типы для хранения в бд, то энивей при изменении придется и их менять 😂😂 ☝️🤔🤔 Не прочел всю ветку 😢😢

evle
Эта "элегантность" уже немного устарела и схему с ...

Не x = x if x is not None else something? Такое больше к булям, а к другим объектам сравнение на нон, разве нет?

MagMigo
Не x = x if x is not None else something? Такое бо...

В зависимости от задачи. Часто нужно исключить любые falsy объекты (0, "", [], и т. д.). В этом случае правильно просто if x. Если только None или что-то конкретное исключить, то задавать это конкретное условие. Потому я и написал про универсальность и настраиваемость. С or такого сделать нельзя и это было одним из аргументов, почему появился синтаксис x if y else z.

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта