python - += 在事件处理的上下文中意味着什么?

标签 python python-asyncio interactive-brokers

Scanner data (streaming)我可以找到以下语句(您可以在下面找到完整代码):

scanData.updateEvent += onScanData

+= 是什么意思?

所以,我知道 onScanData() 是在 scanData.updateEvent 时应该调用的事件处理函数。被解雇了。

但为什么我这里有一个+=而不是一个简单的=? 什么 get 增加了,我以后在哪里可以找到增加的变量?

备注:为了让下面的代码片段运行,Interactive-Brokers 软件 TWS 已经运行。

import datetime
from ib_insync import *

ib = IB()
ib.connect('127.0.0.1', 7497, clientId=1)


def onScanData(scanData):
    print(scanData[0])
    print(len(scanData))

sub = ScannerSubscription(
    instrument='FUT.US',
    locationCode='FUT.GLOBEX',
    scanCode='TOP_PERC_GAIN')
scanData = ib.reqScannerSubscription(sub)
scanData.updateEvent += onScanData
ib.sleep(60)
ib.cancelScannerSubscription(scanData)

最佳答案

reqScannerSubscription返回 ScanDataList 的一个实例.它的updateEvent属性是 eventkit.Event 的实例。它重载了它的 __iadd__方法作为 connect 的别名,它将监听器连接到此事件。

关于python - += 在事件处理的上下文中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69316251/

相关文章:

python - 在一行中获取数组输入,避免 python3 中的空格

python - Pylons 和烧杯 : JSON Encoded Sessions

python - 如何使用 Python/Pandas 衡量预测的准确性?

python - Django 2.0 使用 views.py 呈现 html 页面 (TemplateDoesNotExist)

python - 异步 Pool.execute 与 Connection.execute

python - 使用 API 请求在盈透证券下订单

python-3.x - 具有 map&reduce 风格且不会淹没事件循环的异步

python - 当超过 100 个异步函数运行时锁定异步函数?

python-3.x - 使用 native TWS Python APi(Interactive Brokers API),如何在变量中获取证券列表的价格快照?

c# - OpenOrder 仅针对第一个打开订单的交互式经纪人