策略类中在def __init__ 之前定义的list变量和在__init__中定义的list变量的区别

本文探讨了在Python策略类中,`__init__`方法前定义的list变量与在`__init__`内定义的list变量之间的区别。当在类定义区域内初始化list变量,不同实例间可能会共享同一引用,导致数据互相影响。而在`__init__`中初始化,每个实例将拥有独立的list副本,避免了这种干扰。
摘要由CSDN通过智能技术生成

策略类中在def init 之前定义的list变量和在init中定义的list变量的区别是什么?

在def init 之前定义的list变量:

class stocktestStrategy(CtaTemplate):
"""基于布林通道的交易策略"""
className = 'stocktestStrategy'
author = u'dofish'
actionMark=[]

如果有两个策略使用同一个策略类:
actionMark会应为一个策略改变而同时改变

log:
{'Tora.10': <vnxtp.trader.app.ctaStrategy.strategy.strategyTest.stocktestStrategy object at 0x7f1cf9205450>}
(u'TickTest1111', 0, '510050', 'startegy in order', 'Tora.10', ['Tora.10', 0])
(u'TickTest1111', 0, '510050', 'startegy in order', 'Tora.10', ['Tora.10', 0])
(0, '601009', 46800L, [], 4, u'TickTest222', ['Tora.10', 0])
(0, '601009', 46800L, ['Tora.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值