Size: a a a

2019 December 24

BB

Boris B in SPb Python
Danil Ivanov
Кажется я скоро начну думать что наводящие вопросы были не такой уж хорошей идеей :D
источник

SM

Serge Matveenko in SPb Python
Danil Ivanov
нет, не логично. Кстати, а в каком языке такое есть?
Dart, Kotlin, Rust, CoffeeScript :)
источник

SM

Serge Matveenko in SPb Python
David Shiko
А есть большая разница нет комнаты или нет комнаты, в котором шкаф, в котором плащ?
А что неопределенные аргументы? Такая же проверка на существование (не none)
Тут такая тема. Есть скалярные типы данных и структуры данных (контейнерные типы). В питоне - это всё как бы типы.
Так вот, вам ты помогло положить пустой список в качестве значения по умолчанию, но такое в питоне нельзя делать (отдельная история про мутируемые контейнеры в качестве значений по умолчанию), поэтому нужно передать None и первым делом внутри сделать из None пустой инстанс вашего контейнера.
И да, мы тут вряд ли поможем вам выдумать новый язык, только сможем помочь писать правильно на Python.
И да, Python - весьма строгий и явный язык в сравнении с тем же JS, например, или PHP.
источник

DI

Danil Ivanov in SPb Python
Serge Matveenko
Тут такая тема. Есть скалярные типы данных и структуры данных (контейнерные типы). В питоне - это всё как бы типы.
Так вот, вам ты помогло положить пустой список в качестве значения по умолчанию, но такое в питоне нельзя делать (отдельная история про мутируемые контейнеры в качестве значений по умолчанию), поэтому нужно передать None и первым делом внутри сделать из None пустой инстанс вашего контейнера.
И да, мы тут вряд ли поможем вам выдумать новый язык, только сможем помочь писать правильно на Python.
И да, Python - весьма строгий и явный язык в сравнении с тем же JS, например, или PHP.
В python можешь использовать dataclass с default factory list в качестве data transfer object, но зачем?
источник

SM

Serge Matveenko in SPb Python
Danil Ivanov
В python можешь использовать dataclass с default factory list в качестве data transfer object, но зачем?
Датакласс с одним атрибутом только чтобы None не писать? Блин, я даже не подумал о таком очевидном решении:)
источник

SM

Serge Matveenko in SPb Python
Danil Ivanov
В python можешь использовать dataclass с default factory list в качестве data transfer object, но зачем?
А в dataclass есть фабрики? Я не помню что там есть, потому что всегда attrs использую.
источник

DI

Danil Ivanov in SPb Python
Serge Matveenko
Датакласс с одним атрибутом только чтобы None не писать? Блин, я даже не подумал о таком очевидном решении:)
Для меня этот путь не совсем в стиле Python, отдаёт ООП головного мозга
источник

SM

Serge Matveenko in SPb Python
Вот, кстати, фабрика в качестве дефолтного значения аргумента функции - было бы прикольно.
А не поможет ли здесь walrus? Не вижу как пока...
источник

DI

Danil Ivanov in SPb Python
Serge Matveenko
А в dataclass есть фабрики? Я не помню что там есть, потому что всегда attrs использую.
@dataclassdataclass
class C:
   mylist: List[int] = field(default_factory=list)
источник

DI

Danil Ivanov in SPb Python
Serge Matveenko
Вот, кстати, фабрика в качестве дефолтного значения аргумента функции - было бы прикольно.
А не поможет ли здесь walrus? Не вижу как пока...
Можно декоратором сделать
источник

SM

Serge Matveenko in SPb Python
Danil Ivanov
Для меня этот путь не совсем в стиле Python, отдаёт ООП головного мозга
Сарказм утром не зашёл;)
источник

DI

Danil Ivanov in SPb Python
Serge Matveenko
Сарказм утром не зашёл;)
Дак это я тебя отмазывал, почему тебе этот способ в голову не пришёл )
источник

SM

Serge Matveenko in SPb Python
Danil Ivanov
Можно декоратором сделать
Кстати, весьма неплохо должно выглядеть.
источник

DS

David Shiko in SPb Python
Подскажите пожлуйста, как из бд извлечь одинаковые записи, т.е. если у юзера 1 и юзера 2 одинаковый возраст, то они они излекаются. Гуглил этот вопрос, но решения не одинаковые
источник

M

Matrix Telegram Bridge in SPb Python
David Shiko
Подскажите пожлуйста, как из бд извлечь одинаковые записи, т.е. если у юзера 1 и юзера 2 одинаковый возраст, то они они излекаются. Гуглил этот вопрос, но решения не одинаковые
cauf:
Чаще всего можно сделать что-то типа такого

SELECT p1.name FROM People as p1, People as p2 WHERE p1.age = p2.age AND p1.name <> p2.name

но вывод будет продублирован много раз, поэтому надо как-то ограничить. Например через DISTINCT
источник

SM

Serge Matveenko in SPb Python
Matrix Telegram Bridge
cauf:
Чаще всего можно сделать что-то типа такого

SELECT p1.name FROM People as p1, People as p2 WHERE p1.age = p2.age AND p1.name <> p2.name

но вывод будет продублирован много раз, поэтому надо как-то ограничить. Например через DISTINCT
Лучше после AND "p1.id <> p2.id"
источник

SM

Serge Matveenko in SPb Python
И id тоже выбирать, кстати
источник

DS

David Shiko in SPb Python
Matrix Telegram Bridge
cauf:
Чаще всего можно сделать что-то типа такого

SELECT p1.name FROM People as p1, People as p2 WHERE p1.age = p2.age AND p1.name <> p2.name

но вывод будет продублирован много раз, поэтому надо как-то ограничить. Например через DISTINCT
Забыл уточнить, sqlite
источник

MA

Maxim Afanasev in SPb Python
Что-то мне кажется, это будет очень тяжелый запрос.. А что за задача, возможно её можно решить иначе?
источник

IZ

Ilia Zviagin in SPb Python
Matrix Telegram Bridge
cauf:
Чаще всего можно сделать что-то типа такого

SELECT p1.name FROM People as p1, People as p2 WHERE p1.age = p2.age AND p1.name <> p2.name

но вывод будет продублирован много раз, поэтому надо как-то ограничить. Например через DISTINCT
DEFINE "одинаковые"
источник