如何键入提示从外部库的任何函数返回的值

时间:2019-10-22 20:53:29

标签: python-3.x kombu python-typing

我正在使用Python中的kombu库编写一个简单的生产者代码。还没有完成,我正在尝试遵循Python最佳实践来做。以下是我的代码:

from kombu import Connection, Exchange, Producer, Queue
from time import sleep
from typing import Type

rabbit_url = "amqp://localhost:5672/"


def create_connection(rabbit_url: str) -> Type[Connection]:
    return Connection(rabbit_url)


def create_channel(conn: Type[Connection]):
    return conn.channel()


conn = create_connection(rabbit_url)
channel = create_channel(conn)

exchange = Exchange("example-exchange", type="direct")

producer = Producer(exchange=exchange, channel=channel, routing_key="BOB")

queue = Queue(name="example-queue", exchange=exchange, routing_key="BOB")

queue.maybe_bind(conn)
queue.declare()


producer.publish("END OF MESSAGE..")

现在问题是关于以下功能:

def create_channel(conn: Type[Connection]):
    return conn.channel()

在Python中使用类型提示,如何提示create_channel函数的返回值。我知道它需要一个连接对象,然后在其中调用channel方法。

但是所有这些方法都是在Kombu库的连接类内部定义的。提示此类情况的最佳做法是什么?

请有人引导我进去。

0 个答案:

没有答案