Python3: Что не так с моим одноэлементным классом и почему я не могу создать его экземпляр?

#python-3.x

Вопрос:

Пытаюсь создать одноэлементный класс для извлечения и управления данными, как показано ниже, но я продолжаю получать ошибку времени выполнения, не уверен, что cls.stock_data здесь тоже правильно.

 class StockData:  __instance = None    def __init__(self):  raise RuntimeError("Call instance()")    @classmethod  def instance(cls):  if cls.__instance is None:  cls.__instance = cls()  cls.__instance.__dict__ = {}  cls.stock_data = {}  return cls.__instance    def save_stock_data_from_yahoo(self, stock_symbol):  import urllib.request  import json  url = "http://finance.yahoo.com/d/quotes.csv?s="   stock_symbol   "amp;f=sl1d1t1c1ohgvamp;e=.csv"  response = urllib.request.urlopen(url)  data = response.read().decode("utf-8")  data = data.split(',')  self.stock_data = {  "symbol": data[0],  "last_trade_price": data[1],  "date": data[2],  "time": data[3],  "change": data[4],  "change_in_percent": data[5],  "open": data[6],  "high": data[7],  "low": data[8],  "volume": data[9],  "average_daily_volume": data[10],  "previous_close": data[11],  "price_per_sales": data[12],  "price_per_book": data[13],  "pe_ratio": data[14],  "dividend_per_share": data[15],  "dividend_yield": data[16],  "earnings_per_share": data[17],  "ebitda": data[18],  "market_cap": data[19],  "one_year_target_price": data[20],  "price_earnings_ratio": data[21],  "price_earnings_growth_ratio": data[22],  "price_sales_ratio": data[23],  "price_book_ratio": data[24],  "short_ratio": data[25],  "day_range": data[26],  "day_range_realtime": data[27],  "year_range": data[28]  }    def get_stock_data(self):  print(self.stock_data)  return self.stock_data   StockData.instance()  

Комментарии:

1. Ты воспитываешь RuntimeError __init__ ребенка . Если вы не хотите RuntimeError , чтобы всякий раз, когда ваш объект инициализируется, не делайте этого.

2. Кстати, с какой стати ты это делаешь cls.__instance.__dict__ = {} ???