使用 if 语句更改函数的结构 Python

Changing the structure of a function with if statement Python

有一个函数a可以是client.LinearKline.LinearKline_get()的形式,也可以是client.Kline.Kline_get()的形式。我怎样才能使 a 和 b 模块化,以便两个选项都可以工作,下面的功能实际上不起作用。

if choice ==1:
    a= LinearKline
    b= LinearKline_get
else:
    a= Kline
    b= Kline_get

client.a.b()

您也可以使用 getattr

if choice == 1:
    a = "LinearKline"
    b = "LinearKline_get"
else:
    a = "Kline"
    b = "Kline_get"

getattr(getattr(client, a), b)()

如果您有权访问 client 变量,您可以直接选择您需要调用的函数:

if choice == 1:
    f = client.LinearKline.LinearKline_get
else:
    f = Kline.Kline_get

f()