Python: метод класса print () работает, но не возвращает почему? Интерактивный Брокер - PullRequest
0 голосов
/ 15 апреля 2020

Мой код следующий:

from ibapi.client import EClient
from ibapi.wrapper import EWrapper
from ibapi.contract import Contract

class TestApp(EWrapper,EClient):

    def __init__(self):
         EClient.__init__(self, self)


    def contractDetails(self , contractDetails):
        print(contractDetails.__dict__)


# Start

app = TestApp()
contract = ....
app.reqContractDetails(1,contract)

Метод reqContractDetails - это метод из класса EWrapper. Ему нужен метод contractDetails, созданный в моем коде, и возврат print(contractDetails.__dict__)

Вместо printing Я хотел бы иметь возможность получить результат в переменной. Я изменяю с return(contractDetails.__dict__)

Моя проблема в том, что возврат всегда None из этого метода, я могу напечатать, но не поймать результат, почему?

В моем EClient классе метод выглядит следующим образом:

def reqContractDetails(self, reqId:int , contract:Contract):
    """Call this function to download all details for a particular
    underlying. The contract details will be received via the contractDetails()
    function on the EWrapper.

reqId:int - The ID of the data request. Ensures that responses are
    make_fieldatched to requests if several requests are in process.
contract:Contract - The summary description of the contract being looked
    up."""

self.logRequest(current_fn_name(), vars())
...

msg = "".join(flds)
self.sendMsg(msg)

А в моем Eclient классе метод выглядит следующим образом

def contractDetails(self, reqId:int, contractDetails:ContractDetails):
    """Receives the full contract's definitions. This method will return all
    contracts matching the requested via EEClientSocket::reqContractDetails.
    For example, one can obtain the whole option chain with it."""

self.logAnswer(current_fn_name(), vars())

Есть ли что-то я скучаю, как работают class в python?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...