
fn main() {}
17.07.2019
22:43:26

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

Mikhail -Ofast
17.07.2019
22:44:15

Google

Nikolay
17.07.2019
22:44:26

Какого Бля
17.07.2019
22:44:26

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

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

Какого Бля
17.07.2019
22:45:16

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

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
Нет
Ты не читаешь, да?

Nikolay
17.07.2019
22:48:40

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

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

Nikolay
17.07.2019
22:49:32

Какого Бля
17.07.2019
22:49:48
?
Так вот синхронная функция и асинхронная ничем не отличаются

Tishka17
17.07.2019
22:49:50

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

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

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

Какого Бля
17.07.2019
22:50:31

Google

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

Tishka17
17.07.2019
22:50:46

Какого Бля
17.07.2019
22:51:00

Nikolay
17.07.2019
22:51:42

Tishka17
17.07.2019
22:51:49
Ну так вот. Сам по себе вызов синхронной функции не может сделать асинхронную менее асинхронной
А вот что там ещё дополнительно делается - это вопрос всегда

Какого Бля
17.07.2019
22:52:44

Nikolay
17.07.2019
22:52:58

Tishka17
17.07.2019
22:53:08

Nikolay
17.07.2019
22:53:22

Tishka17
17.07.2019
22:53:31

Какого Бля
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
Какие есть клиентские библиотеки кроме пирограма?

SetazeR
18.07.2019
02:09:00

George
18.07.2019
02:09:18

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

SetazeR
18.07.2019
02:11:03
обращайся
с удовольствием ещё раз пошлю в гугл на вопросы которые в одном поисковом запросе от ответа

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

George
18.07.2019
02:14:49
ban

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