我对python还很陌生,即使在搜索了inet之后,我也不明白这里出了什么问题。
为了使用Binance API,我需要如下命令:client.get_order_book(symbol = 'ETHBTC')
因为符号是动态的,我试着
x1 = 'symbol = '
x2 = symbols[0].get('symbol') #Output: ETHBTC
x = x1 + "'" + x2 + "'"
print(x) #Output: symbol = 'ETHBTC'
但当我打电话的时候
client.get_order_book(x)
它绘制了错误:
TypeError: get_order_book() takes 1 positional argument but 2 were given
以下是代码的其余部分:
client = Client(api_key, api_secret)
symbols = client.get_ticker()
print(symbols[0].get('symbol')) #Output ETHBTC
y = len(symbols)
for i in range(y):
x1 = 'symbol = '
x2 = symbols[i].get('symbol')
x = x1 + "'" + x2 + "'"
print(x) #Output: symbol = 'ETHBTC'
print(client.get_order_book(x))
我读了很多关于self
的书,但是我不明白,在哪里,如何在这里使用它?!你知道吗
x
是文本字符串symbol='ETHBTC'
,而不是“saved”关键字参数。 您尝试的呼叫等于但是这个方法不接受任何位置参数(除了
self
)。这里是signature:预打包关键字参数并模拟
您需要一个
dict
来封装关键字参数。你知道吗方法
get_order_book
调用时不要等待任何参数。 当您通过comand client=client()初始化类的实例时,默认情况下,self
作为参数进入所有非staticmethod
中,以引用方法内类的实例。您应该指出方法get_order_book
获取一个参数:或者,如果不需要在方法中引用类的实例:
如果要预定义方法中的参数(默认情况下为VAL),则应使用:
相关问题 更多 >
编程相关推荐