@ru_python

Страница 9633 из 9768
fn main() {}
17.07.2019
22:43:26
Это прототип, который не является бэкпортом
Я и говорю, потом стал асункио, но он вроде даже под второй питон есть, не уверен.

Tishka17
17.07.2019
22:43:29
И тут вопрос: а зачем мы вообще пишем async перед определением функции? ;-)

Она ретернется без авейта
x() тоже ретурнится без эвейта

Google
Nikolay
17.07.2019
22:44:26
Я и говорю, потом стал асункио, но он вроде даже под второй питон есть, не уверен.
Ну да, стал :) что не отменяет того, что во втором питоне асинхронности в виде asyncio быть в принципе не может без хитрожопого патчинга стандартной библиотеки

Какого Бля
17.07.2019
22:44:26
И тут вопрос: а зачем мы вообще пишем async перед определением функции? ;-)
Для обьявление корутины Где то же оно играет роль

Nikolay
17.07.2019
22:44:31
Что и делает gevent

Tishka17
17.07.2019
22:44:47
На самом деле просто запрещено делать await внутри синхронной функции. Всё

Просто для строгости и различия подходов к разработке

Nikolay
17.07.2019
22:45:27
Потому что await подразумевает генерацию колбэка на событие в ивентлупе

Tishka17
17.07.2019
22:45:32
Так вот синхронная функция и асинхронная ничем не отличаются

Nikolay
17.07.2019
22:45:42
А не потому что так захотели

Tishka17
17.07.2019
22:46:07
Кроме того, что внутри синхронной эвейт возможен только неявно

Какого Бля
17.07.2019
22:46:28
Так вот синхронная функция и асинхронная ничем не отличаются
?‍♂за тобой придет питонячая полиция за эту фразу

Nikolay
17.07.2019
22:46:48
Кроме того, что внутри синхронной эвейт возможен только неявно
Возможен через run_until_complete(), если больше асинхронных вызовов на этом лупе нет

Google
Tishka17
17.07.2019
22:47:29
Грубо, пока ты выполняет синхррлнную функцию - переключения не будет. При асинхронной - может. Но это не значит что результат выполнения обеих фукнций не может быть awaitable-объектом (корутиной)

Какого Бля
17.07.2019
22:47:36
Не, он всё правильно пишет
Окей, что мешаеь юзать асинк евейьы в джанге?

Nikolay
17.07.2019
22:47:57
Окей, что мешаеь юзать асинк евейьы в джанге?
Ничего, за исключением того, что там это бессмысленно

Потому что работа с сетью там синхронная

Какого Бля
17.07.2019
22:48:15
По вашей логике можно без проблем исполнить асинхронщину в джанге

Tishka17
17.07.2019
22:48:20
Нет

Ты не читаешь, да?

Какого Бля
17.07.2019
22:48:43
Ты не читаешь, да?
Нет, я наркоман

Tishka17
17.07.2019
22:49:12
Синхронная функция выполняется синхронно. Одна в одном потоке. Но это не значит что её результат тоже будет синхронно получен

Асинхронная функция выполняется асинхронно.

Какого Бля
17.07.2019
22:49:48
?

Так вот синхронная функция и асинхронная ничем не отличаются

Tishka17
17.07.2019
22:49:50
Погоди, ты уже немного не в ту степь
Да я про то, что синхронная функция без проблем вернёт корутину

Nikolay
17.07.2019
22:49:53
Результат, разумеется, будет получен синхронно

Но он может быть корутиной, да

Tishka17
17.07.2019
22:50:20
Ну а асинхронная всегда возвращает корутину, окей

Google
Nikolay
17.07.2019
22:50:46
?
Корутина - это тоже функция, только с несколькими точками входа и выхода

Nikolay
17.07.2019
22:51:42
Tishka17
17.07.2019
22:51:49
Ну так вот. Сам по себе вызов синхронной функции не может сделать асинхронную менее асинхронной

А вот что там ещё дополнительно делается - это вопрос всегда

Какого Бля
17.07.2019
22:52:44
Ну так вот. Сам по себе вызов синхронной функции не может сделать асинхронную менее асинхронной
Значит 2 варианта, либо мой бенч говно либо есть какой то нюанс при вызове синхрона из корутины

Nikolay
17.07.2019
22:52:58
Значит вывод? Разница есть
С точки зрения логики - разница только в синтаксисе

Nikolay
17.07.2019
22:53:22
Какого Бля
17.07.2019
22:53:46
Tishka17
17.07.2019
22:53:55
Пожалуй и я спать

Nikolay
17.07.2019
22:53:57
Я про ее вызов через луп

ensure_future

Tishka17
17.07.2019
22:54:08
Я про ее вызов через луп
А я про простые вызовы

Какого Бля
17.07.2019
22:54:14
Ну, если у тебя там классы на что-то влияют - то да, говно
Инит точно есть Может еще что. Не помню

Tishka17
17.07.2019
22:54:19
Лол

К слову

Google
fn main() {}
17.07.2019
22:54:42
Еще new есть

Nikolay
17.07.2019
22:54:45
А я про простые вызовы
А простые это лишь создание экземпляра генератора

Tishka17
17.07.2019
22:54:51
import asyncio class Meta(type): async def __call__(cls): x=cls.__new__(cls) await x.__ainit__() return x class X(metaclass=Meta): async def __ainit__(self): print(1) async def main(): x = await X() asyncio.run(main())

Инит точно есть Может еще что. Не помню
Вон тебе асинхронные классы :)

Какого Бля
17.07.2019
22:55:37
Tishka17
17.07.2019
22:55:50
Это конечно трюк, но тем не менее

Nikolay
17.07.2019
22:55:52
Tishka17
17.07.2019
22:56:28
Вот про генераторы верно, да. Забыл совсем

Собственно та же тема, генератор можно же возвращать и издеваться над ним как угодно вне функции-генератора

Shieldy
17.07.2019
22:59:21
Добро пожаловать, @vitka_k! Не забудь ознакомиться с правилами чата. https://t.me/ru_python/802295

Добро пожаловать, @l3en7amin! Не забудь ознакомиться с правилами чата. https://t.me/ru_python/802295

Добро пожаловать, Loop G! Не забудь ознакомиться с правилами чата. https://t.me/ru_python/802295

George
18.07.2019
02:03:14
Какие есть клиентские библиотеки кроме пирограма?

George
18.07.2019
02:09:18
telethon
что лучше?

SetazeR
18.07.2019
02:09:26
НИИ "БУ"

George
18.07.2019
02:09:58
нет, не так, на что больше мануалов есть и у которой обширнее доки

SetazeR
18.07.2019
02:10:18
гугл в помощь

Google
George
18.07.2019
02:10:54
гугл в помощь
ну спасибо блин за помощь)0))

SetazeR
18.07.2019
02:11:03
обращайся

с удовольствием ещё раз пошлю в гугл на вопросы которые в одном поисковом запросе от ответа

Max
18.07.2019
02:12:04
ну спасибо блин за помощь)0))
как буриданов осёл перед двумя либками, не выбирая ничего

я бы взял telethon просто потому что о нем первом услышал, нежели о pyrogram. а если что-то не устраивать будет - смотреть в особенности реализации обоих

Максим
18.07.2019
04:41:42
на спам похоже имхо.

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