执行;“类”;使用多输入-Python
我这里有一个简化的代码。(原始代码太多了,放不起来) 我想像这样执行程序(这样执行没有问题): 但是,有超过3只股票,所以我需要“for loop”来迭代这个资产列表 我做到了:执行;“类”;使用多输入-Python,python,Python,我这里有一个简化的代码。(原始代码太多了,放不起来) 我想像这样执行程序(这样执行没有问题): 但是,有超过3只股票,所以我需要“for loop”来迭代这个资产列表 我做到了: Assets = ["stock_one", "stock_two", "stock_three"] for asset in Assets: asset = Stock(asset) asset.Initiate_sequence() # I
Assets = ["stock_one", "stock_two", "stock_three"]
for asset in Assets:
asset = Stock(asset)
asset.Initiate_sequence() # Initialize all the assets
while True: # Loop each asset analysis module every 10 seconds
for asset in Assets:
asset.Analysis()
time.sleep(10)
现在它给出了错误
Initiate Program
Initiate Program
Initiate Program
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-12-420b1a82343b> in <module>
6 while True: # Loop each asset analysis module every 10 seconds
7 for asset in Assets:
----> 8 asset.Analysis()
9 time.sleep(10)
10
AttributeError: 'str' object has no attribute 'Analysis'
出于某种原因,它卡住了,并且没有无缘无故地继续执行,有什么想法吗?您正在尝试覆盖循环变量
资产
,它在Python中不起作用
如果在铸造asset=Stock(asset)
后检查变量Assets
,您将看到它只是字符串,而不是您试图创建的Stock
实例。这就是为什么您得到的'str'对象没有属性'Analysis'
错误
相反,我将执行以下操作:
#变量和类方法/属性应为小写
#只有类是大写的
资产=[“股票一”、“股票二”、“股票三”]
库存=列表(地图(库存、资产))
#上面这一行(大部分)相当于
#股票=[资产中资产的股票(资产)]
#或
#股票=[]
#对于资产中的资产:
#股票。追加(股票(资产))
尽管如此:
对于库存:
股票分析()
时间。睡眠(10)
由于某种原因,它卡住了,并且没有理由继续执行,有什么想法吗?(这个分析模块需要一起执行,然后休眠,我只做了一点更改)我错误地将sleep语句放在了内部循环中,而不是外部循环中(现在已经更正了)。这可能是问题所在吗?我还注意到,如果我们对股票
进行多次迭代(现已修复),我用来创建股票
的生成器将无法工作。太棒了!非常感谢。
Assets = ["stock_one", "stock_two", "stock_three"]
for asset in Assets:
asset = Stock(asset)
asset.Initiate_sequence() # Initialize all the assets
while True: # Loop each asset analysis module every 10 seconds
for asset in Assets:
asset.Analysis()
time.sleep(10)
Initiate Program
Initiate Program
Initiate Program
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-12-420b1a82343b> in <module>
6 while True: # Loop each asset analysis module every 10 seconds
7 for asset in Assets:
----> 8 asset.Analysis()
9 time.sleep(10)
10
AttributeError: 'str' object has no attribute 'Analysis'
Assets = ["stock_one", "stock_two", "stock_three"]
stocks = map(Stock, Assets)
while True:
for stock in stocks:
stock.Analysis()
time.sleep(10)