+= 在事件处理的上下文中意味着什么?
What does += mean in the context of event handling?
在Scanner data (streaming)中我可以找到下面的语句(你可以在下面找到完整的代码):
scanData.updateEvent += onScanData
+=
是什么意思?
所以,我知道 onScanData()
是触发 scanData.updateEvent
时应该调用的事件处理函数。
但是为什么我这里有一个+=
而不是一个简单的=
?
什么增加了,我以后在哪里可以找到增加的变量?
备注:要获取下面的代码片段运行,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
returns an instance of ScanDataList
. Its updateEvent
property is an instance of eventkit.Event
. It overloads its __iadd__
method to be an alias for connect
,将侦听器连接到此事件。
在Scanner data (streaming)中我可以找到下面的语句(你可以在下面找到完整的代码):
scanData.updateEvent += onScanData
+=
是什么意思?
所以,我知道 onScanData()
是触发 scanData.updateEvent
时应该调用的事件处理函数。
但是为什么我这里有一个+=
而不是一个简单的=
?
什么增加了,我以后在哪里可以找到增加的变量?
备注:要获取下面的代码片段运行,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
returns an instance of ScanDataList
. Its updateEvent
property is an instance of eventkit.Event
. It overloads its __iadd__
method to be an alias for connect
,将侦听器连接到此事件。