@ru_python

Страница 6978 из 9768
Viktor
08.11.2018
09:28:28
Tigran
08.11.2018
09:31:38
Котоны, кто на хайлоде — подходите к стенду Джума, перетрем за петон

Michael
08.11.2018
09:44:28
Не меняю. (list(d)[1], d[list(d)[1]]) -- более чем то, что мне нужно. На самом деле мне нужно вытащить вообще ЕДИНСТВЕННЫЙ элемент
В такой реализации формально ты можешь получить ключ и значение из разных пар

Google
Tigran
08.11.2018
09:44:59
А где он?)
Ну он же отмечен на карте на бейджике!

Alex
08.11.2018
09:45:20
В такой реализации формально ты можешь получить ключ и значение из разных пар
ну нет, dict не вернет рандомный порядок ключей каждый раз

но вообще реализация мягко говоря странная

зачем получать список ключей несколько раз?

Eldar
08.11.2018
09:51:04
Ну он же отмечен на карте на бейджике!
Я понял, что обладаю топографическим кретинизмом))

Tigran
08.11.2018
09:53:53
Я понял, что работа помощником баристы не для меня...

Eldar
08.11.2018
09:54:41
Я понял, что работа помощником баристы не для меня...
О, так ты рядом с кофе находитесь?О_о

Tigran
08.11.2018
09:55:11
Ну, у нас своя кофемашина и бариста

ilya
08.11.2018
09:57:58
Я понял, что работа помощником баристы не для меня...
зато для него в самый раз ;) https://www.facebook.com/vkhamianok/videos/1859628147439991/

Good
08.11.2018
09:59:25
как обратиться к функции при нажатии Inline кнопки? `callback_button = types.InlineKeyboardButton(text="? Оплатить 3500 рублей",callback_data="test")` как понял, нужно заместо `callback_data` что то другое вписать

SetazeR
08.11.2018
09:59:28
интересно, это тогда в 3.7 можно будет наверное писать dict.values()[1], dict.keys()[1] и тд

Google
Good
08.11.2018
10:01:54
что за канал?

SetazeR
08.11.2018
10:02:09
из названия неясно?

Good
08.11.2018
10:02:26
принял)

благодарю

SetazeR
08.11.2018
10:02:52
ога

Vyacheslav
08.11.2018
10:03:13
Всем привет. Подскажите как бороться с порядком обьявления функций/методов? Бывает что несколько классов использую методы друг друга, и не возможно их создать из-за того что одному требуются методы другого, который еще не создан.

Может есть что то вроде декларации как в других языках

Vyacheslav
08.11.2018
10:04:38
то есть декларации в других языках придумали для ленивых? ?

Michael
08.11.2018
10:05:25
Покажи пример

Vyacheslav
08.11.2018
10:05:33
хочется в классе методы размещать в порядке их смысла

а не с учетом порядка их вызова друг другом

Alex
08.11.2018
10:06:00
интересно, это тогда в 3.7 можно будет наверное писать dict.values()[1], dict.keys()[1] и тд
не совсем, т.к. keys() и values() возвращают итератор k = list(dict)[1] v = dict[k] ты видимо хочешь написать как-то так, незачем два раза получать список ключей из словаря.

Pavel
08.11.2018
10:06:42
хочется в классе методы размещать в порядке их смысла
в классе методы можно в любом порядке размещать, ты чего.

Vyacheslav
08.11.2018
10:07:06
ну пример, в конструкторе вызывается метод updateAll()

87776
08.11.2018
10:07:08
скажите а в type hinting нормально писать -> [] ?

Vyacheslav
08.11.2018
10:07:23
что бы он работал надо его обьявить до конструктора

Pavel
08.11.2018
10:08:00
что бы он работал надо его обьявить до конструктора
>>> class C: ... def __init__(self): ... self.updateAll() ... def updateAll(self): ... print('up') ... >>> >>> C() up <__main__.C object at 0x0000000002997048> >>>

Alex
08.11.2018
10:08:04
что бы он работал надо его обьявить до конструктора
у тебя интерпретатор при загрузке модуля "выполнит" код описания класса и всех методов в нем, таким образом когда ты вызовешь конструктор все методы будут уже доступны.

Google
Alex
08.11.2018
10:09:53
хочется в классе методы размещать в порядке их смысла
размещай. никто тебе не мешает. видимо ты пришел из С++. я знаю - это больно, но потом ты начнешь получать удовольствие от того насколько язык более адекватно спроектирован.

Michael
08.11.2018
10:10:03
что бы он работал надо его обьявить до конструктора
Ты что-то путаешь, либо у тебя какая-то вложенная структура классов/методов

Vyacheslav
08.11.2018
10:11:14
странно , у меня были проблемы с порядком, просто пишу под ESP32 в слепую (ошибок интерпритации не вижу). Попробую еще раз. В песочнице действительно работают методы в любом порядке.

а интерпритатор скольки проходный в питоне?

Просто под esp32 код переводится в байт код, может из-за этого проблемы

Vyacheslav
08.11.2018
10:15:08
Что-то подобное. https://www.zerynth.com/

Alex
08.11.2018
10:15:29
вообще в контексте интерпретатора вопрос про "количество проходов" мне кажется не имеет смысла.

?? Eugene
08.11.2018
10:17:06
вообще в контексте интерпретатора вопрос про "количество проходов" мне кажется не имеет смысла.
Ну вообще, сначала питон проходит по всем модулям, инициализирует что ему нужно, компилирует в байт-код и уже потом исполняет, так ведь?

Alexy
08.11.2018
10:19:56
Использую Django. Мне нужно каждый час сканировать почту 100 пользователей на gmail. Через что лучше сделать это, Celery ?

Alex
08.11.2018
10:19:57
Ну вообще, сначала питон проходит по всем модулям, инициализирует что ему нужно, компилирует в байт-код и уже потом исполняет, так ведь?
поправте если я не прав, но насколько мне известно все несколько не так python компилирует модуль при импорте, т.е. в runtime.

?? Eugene
08.11.2018
10:22:12
поправте если я не прав, но насколько мне известно все несколько не так python компилирует модуль при импорте, т.е. в runtime.
Ну мы немного о разных вещах говорим. Компилирует при импорте, а импортирует при запуске

Dark
08.11.2018
10:22:31
Какая библиотека лучше всего подходит для создания график юзер интерфейс Пикл мне не понравился

?? Eugene
08.11.2018
10:22:34
Если импорт не спрятан где-нибудь

Dark
08.11.2018
10:22:45
Точнее ткинер

Alexy
08.11.2018
10:23:15
Cron'а не достаточно?
та вот думаю что лучше. Там нужны будут еще очереди и типа что то для проверки прошел ли элемент в очереди нормально

Google
Alex
08.11.2018
10:24:34
Ну мы немного о разных вещах говорим. Компилирует при импорте, а импортирует при запуске
так да, но насколько я понимаю это не совсем многопроходность в контексте работы компиляторов.

LighteR
08.11.2018
10:24:41
та вот думаю что лучше. Там нужны будут еще очереди и типа что то для проверки прошел ли элемент в очереди нормально
Ну ты бы тогда лучше сразу описал все что нужно сделать. В первоначальном вопросе было только про запуск по расписанию

?? Eugene
08.11.2018
10:24:59
поправте если я не прав, но насколько мне известно все несколько не так python компилирует модуль при импорте, т.е. в runtime.
Я к тому, однопроходный питон или нет. Как я понял, человек думал что питон исполняет строго последовательно, и если объявить функции не в том порядке - ничего не заработает, а на деле перед основным проходом есть еще проход инициализации.

Admin
ERROR: S client not available

Alexy
08.11.2018
10:26:01
Ну ты бы тогда лучше сразу описал все что нужно сделать. В первоначальном вопросе было только про запуск по расписанию
сорян что не описал. К примеру есть 100 пользователей, каждый час нужно дергать почту каждого пользователя(на джемейле) и проверять есть ли там письмо от test@gmail.com(к примеру) если есть то сохранять файлы с письма на сервер

Alexy
08.11.2018
10:27:19
А очереди зачем?
что б оно не одновременно все обрабатывало

LighteR
08.11.2018
10:27:46
что б оно не одновременно все обрабатывало
Ну можно же последовательно обрабатывать

Ну или bulk'ами определенного размера

Alexy
08.11.2018
10:28:51
Ну или bulk'ами определенного размера
хммм, т.е вы рекомендуете крон?

LighteR
08.11.2018
10:30:30
хммм, т.е вы рекомендуете крон?
Ну если все что нужно сделать, это запускать определенную задачу по расписанию, то cron'а достаточно, кмк. Если нужно что-то более сложное, то надо смотреть на требования

Alex
08.11.2018
10:32:53
а в кроне можно сделать так что б задачи паралельно обрабатывались?
у тебя одна задача или несколько. ты можешь запустить пул процессов. но это все как-то сомнительно в плане масштабируемости. думаю тут очередь зазач будет весьма кстати.

Jentry
08.11.2018
10:34:06
Использую Django. Мне нужно каждый час сканировать почту 100 пользователей на gmail. Через что лучше сделать это, Celery ?
Если ты уже используешь Django, то Celery не будет чем-то плохим здесь, используй его

LighteR
08.11.2018
10:34:27
а в кроне можно сделать так что б задачи паралельно обрабатывались?
Cron просто запускает процесс по расписанию. Внутри процесса делать паралельно или последователь обработку данных, это уже твое дело

Alexy
08.11.2018
10:35:21
у тебя одна задача или несколько. ты можешь запустить пул процессов. но это все как-то сомнительно в плане масштабируемости. думаю тут очередь зазач будет весьма кстати.
у меня одна задача(проверять джемейл и сохранять аттачменты с него) для разных пользователей. Просто думаю паралельно запускать это, что б каждый час делать это. Подумал что если не паралельно, а последовательно то к примеру у одного пользователя это будет каждый час, а второй пока дождется своей очереди то через полтора(к примеру)

Google
Jentry
08.11.2018
10:36:28
У Celery есть все, но не все работает хорошо и идеально, иногда в issue придется доказывать, что ты не верблюд

Alexy
08.11.2018
10:37:15
спасибо большое за советы

Jentry
08.11.2018
10:40:51
у меня одна задача(проверять джемейл и сохранять аттачменты с него) для разных пользователей. Просто думаю паралельно запускать это, что б каждый час делать это. Подумал что если не паралельно, а последовательно то к примеру у одного пользователя это будет каждый час, а второй пока дождется своей очереди то через полтора(к примеру)
запустить параллельно IO-bound задачи это в питоне очень просто, возьми пул потоков или пул процессов и закидывай в него задачи, если у тебя сотни одновременных задач, то это не нагрузка даже, можешь не париться с маштабируемостью

Celery тебе даст возможность масштабироваться, worker’ы могут быть на другой машине

LighteR
08.11.2018
10:41:43
+1, кроме того у celery есть scheduler
Поднимать дополнительно message broker и держать запущенным celery beat ради того, чтобы запускать одну таску раз в час?

Jentry
08.11.2018
10:43:55
Поднимать дополнительно message broker и держать запущенным celery beat ради того, чтобы запускать одну таску раз в час?
Зато жить интересно, можно поиграть в amqp-сантехника и почистить очередь, например

LighteR
08.11.2018
10:44:01
Я в целом, не против celery. Но кажется немного overkill. К тому же у вопрошающего займет больше времени чтобы разобраться с celery

Зато жить интересно, можно поиграть в amqp-сантехника и почистить очередь, например
Ага, а завтра он сюда придет с вопросами о том что такое exchange, routing key и т.д.

Вместо того чтобы за 5 минут добавить задачу в cron

Alex
08.11.2018
10:46:09
и какой-нибудь rq даже

Alexy
08.11.2018
10:47:00
Ага, а завтра он сюда придет с вопросами о том что такое exchange, routing key и т.д.
))) я поверхносно работал с целери, мне как бы не впадло разобраться с ним. Суть вопроса была в том что лучше использовать, может в будущем там будет что то еще(по бг задачам)

Alex
08.11.2018
10:48:10
Вместо того чтобы за 5 минут добавить задачу в cron
если потом не нужно это все горизонтально масштабировать, то да крон покатит.

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