用if语句python改变函数的结构

xsuvu9jc  于 2021-07-13  发布在  Java
关注(0)|答案(2)|浏览(360)

有一个函数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()
r1zhe5dt

r1zhe5dt1#

你也可以使用 getattr 为了这个。

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

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

wkftcu5l2#

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

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

f()

相关问题