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

use*_*087 3 python python-asyncio interactive-brokers

扫描仪数据(流)中我可以找到以下语句(您可以在下面找到完整代码):

scanData.updateEvent += onScanData

是什么+=意思?

所以,我知道这是在触发onScanData()时应该调用的事件处理函数。scanData.updateEvent

但为什么我有一个+=here而不是一个simple =?什么得到了增量以及稍后我可以在哪里找到增量变量?

备注:为了运行下面的代码片段,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)
Run Code Online (Sandbox Code Playgroud)

Mar*_*rat 5

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