在Contract.sol
内部,我定义了
struct id {
string name;
uint num;
}
id[] public id_array;
.
.
.
在python文件中,让C_adrs
是已部署的Contract.sol
实例的地址。我想打印已部署实例的id_array
的第0个条目。出于某种原因,以下给出了所需的结果。
print(C_adrs.id_array(0))
另一方面,下面给出了'ContractCall' object is not subscriptable
。
print(C_adrs.id_array[0])
发生了什么事?我认为方括号应该访问数组整数。
好吧,是的,在带有[]的python中,你可以访问数组索引,但这是一个函数而不是数组,至少对python来说,python不知道id_array是一个数组,因为它是一个接收参数并返回从区块链获得的东西的函数,事实上,如果你查看合同的abi并检查什么是idarray,它将是一个接收uint256并返回uint256 的函数