После того, как в прошлом я работал в основном с функциональным программированием, я хотел начать использовать ООП, классы чаще, так как я планирую больше делиться и сотрудничать с другими.
Не могли бы вы помочь мне в следующей проблеме:
#! /usr/bin/python3
# -*- coding: utf-8 -*-
from pandas_datareader import data as pdr
import quandl
class Stock_Analysis:
def __init__(self, Stock_Ticker,Start_Date):
self.ticker = Stock_Ticker
self.start_date = Start_Date
try:
self.stock_data = pdr.get_data_yahoo(self.ticker,self.start_date)
except:
print("Error with Yahoo - please enter Quandl Tickers")
try:
self.quandl_ticker = input()
self.stock_data = quandl.get(self.quandl_ticker)
except:
"Failled"
def Print_Data(self):
print(self.stock_data)
apple = Stock_Analysis("AAPL","2015-01-01")
apple.Print_Data()
Предполагается, что код извлекает данные для определенного пользователем запаса и возвращает данные временного ряда OHLC при использовании метода Print_Data() для объекта. В случае, если данные нельзя взять с Yahoo, в качестве источника данных используется Quandl. Тикер для Quandl: «WIKI/AAPL».
При выполнении Кода:
apple = Stock_Analysis("AAPL","2015-01-01")
Error with Yahoo - please enter Quandl Tickers
"WIKI/AAPL"
apple.Print_Data()
Traceback (most recent call last):
File "C:\Users\Julian\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2881, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-89-cff530c657a2>", line 1, in <module>
apple.Print_Data()
File "<ipython-input-86-1c393f01d103>", line 15, in Print_Data
print(self.stock_data)
AttributeError: 'Stock_Analysis' object has no attribute 'stock_data'
Я пробовал с возвратом к переменной и с print(), но ни один из них не работал
Большое спасибо за Вашу помощь.