Size: a a a

2019 December 08

DI

Danil Ivanov in SPb Python
Maxim Afanasev
Ага, поэтому я и предложил DTO, желательно с типами. Но тут вообще какая-то странная история, так что, думаю, не с этого надо начинать.
мы же всё таки в питоне )
источник

MA

Maxim Afanasev in SPb Python
Ох, точно... )))
источник

DI

Danil Ivanov in SPb Python
David Shiko
Это все ссылки (str)
как тогда получается что text =  audio = video = message_content? Что внутри message_send_method происходит?
источник

DS

David Shiko in SPb Python
Danil Ivanov
как тогда получается что text =  audio = video = message_content? Что внутри message_send_method происходит?
Там реально сложная история немного.Может быть скрин прояснит
источник

IZ

Ilia Zviagin in SPb Python
Alex Shumihin
Всем привет
Подскажите по поводу многопоточность
Есть  функция , которая считает все простые числа от 1 до 2000000
И делает это очень долго
Если я запускаю в 2 потока , „thread”
То получается запускается 2 функции и считают одинаковые значения
Как запустить 2 и более потоков , что бы они продолжали а не повторяли действия
То есть , первый поток берет число 1 а второй параллельно берет число 2 и тд. Не по очереди с помощью Lock() а параллельно
Гы, на питоне ты это будешь долго считать...
Бери другой язык.

Многопоточность тебе не поможет тут.
источник

IZ

Ilia Zviagin in SPb Python
Alex Shumihin
Всем привет
Подскажите по поводу многопоточность
Есть  функция , которая считает все простые числа от 1 до 2000000
И делает это очень долго
Если я запускаю в 2 потока , „thread”
То получается запускается 2 функции и считают одинаковые значения
Как запустить 2 и более потоков , что бы они продолжали а не повторяли действия
То есть , первый поток берет число 1 а второй параллельно берет число 2 и тд. Не по очереди с помощью Lock() а параллельно
Мульт процессинг (что делает несколько процессов) поможет, но это сложнее немного, и придется повозиться, но самое главное - это пример задач, которые в принципе нельзя решать на питоне - числодробилки!
источник

DI

Danil Ivanov in SPb Python
David Shiko
Там реально сложная история немного.Может быть скрин прояснит
и в этой сложной истории нет аргументов text =  audio = video = message_content есть message, и на основе него выясняется какой тип у него.
Кстати, можно вынести check_func(message) вынести в переменную, чтобы не вычислять каждый раз.
источник

YV

Yuliya Volkova in SPb Python
Alex Shumihin
Всем привет
Подскажите по поводу многопоточность
Есть  функция , которая считает все простые числа от 1 до 2000000
И делает это очень долго
Если я запускаю в 2 потока , „thread”
То получается запускается 2 функции и считают одинаковые значения
Как запустить 2 и более потоков , что бы они продолжали а не повторяли действия
То есть , первый поток берет число 1 а второй параллельно берет число 2 и тд. Не по очереди с помощью Lock() а параллельно
https://gist.github.com/xnuinside/c217382af0bae95d84f1d28fe704a6b9 с мультпроцессингом пример, всё сильно завимит от алгоритма который используешь, для алгоритма в "лоб" получается на моем старом ноуте который лагает как скотина - start: 2019-12-08 11:07:50.774765
final: 2019-12-08 11:09:16.657606
источник

YV

Yuliya Volkova in SPb Python
а вот если взять алгоритм из sympy - start: 2019-12-08 11:18:09.753881
final: 2019-12-08 11:18:27.022308
источник

YV

Yuliya Volkova in SPb Python
всё не так печально, но с Ильей ни в коем случае не готова спорить, тут Python конечно не главный игрок))
источник

DS

David Shiko in SPb Python
Кто нибудь значет, почему мне нули возвращает, а не последнюю строку? (sqlite3)

cursor.execute("SELECT last_insert_rowid() FROM messages_table")

   """CREATE TABLE IF NOT EXISTS messages_table(
   id INTEGER PRIMARY KEY,
   messages_content_type TEXT NOT NULL,
   messages_content TEXT NOT NULL)""")

у меня 6 сообщений. cursor.execute("SELECT MAX(id) FROM messages_table") возвращает 6, как и ожидалось
источник

p

pragus in SPb Python
Maxim Afanasev
Если вы хотите передавать много именованых аргументов, сформируйте dict предварительно и его передавайте. А лучше для этих целей обзавестись отдельным DTO.
Случай, когда четыре именованых аргумента одинаковы - исключительный и это должно явно читаться из кода.
Пошел смотреть что за dto и понял что давно этим пользуюсь ))
источник

p

pragus in SPb Python
Ilia Zviagin
Мульт процессинг (что делает несколько процессов) поможет, но это сложнее немного, и придется повозиться, но самое главное - это пример задач, которые в принципе нельзя решать на питоне - числодробилки!
Можно взять cython
источник

p

pragus in SPb Python
David Shiko
Кто нибудь значет, почему мне нули возвращает, а не последнюю строку? (sqlite3)

cursor.execute("SELECT last_insert_rowid() FROM messages_table")

   """CREATE TABLE IF NOT EXISTS messages_table(
   id INTEGER PRIMARY KEY,
   messages_content_type TEXT NOT NULL,
   messages_content TEXT NOT NULL)""")

у меня 6 сообщений. cursor.execute("SELECT MAX(id) FROM messages_table") возвращает 6, как и ожидалось
А почему ты ожидаешь 6?
источник

DI

Danil Ivanov in SPb Python
pragus
Пошел смотреть что за dto и понял что давно этим пользуюсь ))
Конечно, ты же на golang )) он там всегда напрашивается, как ты его кстати именуешь?
источник

p

pragus in SPb Python
Danil Ivanov
Конечно, ты же на golang )) он там всегда напрашивается, как ты его кстати именуешь?
Ну да, там иначе никак. А питонячие kwargs легко эмулируются структурой SomeParams, заодно типы на каждый именованный параметр + нельзя забыть добавить поле
источник

DI

Danil Ivanov in SPb Python
pragus
Ну да, там иначе никак. А питонячие kwargs легко эмулируются структурой SomeParams, заодно типы на каждый именованный параметр + нельзя забыть добавить поле
Явное лучше неявного ))
источник

DS

David Shiko in SPb Python
pragus
А почему ты ожидаешь 6?
У меня 6 сообщений, последнее id - 6
источник

SO

Simon Osipov in SPb Python
David Shiko
У меня 6 сообщений, последнее id - 6
id который ваша колонка и rowid это разные сущности
источник

DS

David Shiko in SPb Python
Simon Osipov
id который ваша колонка и rowid это разные сущности
hmm, ну я читал, что id с primary key этo alias. Я ожидаю, что rowid будет выдаст всю строку таблиы (последнюю)
источник