python @属性 无法识别下划线 属性
python @property doesn't recognize underscored property
我在 Python 中有以下 class:
class Zones(implements(DataLoader)):
def __init__(self, loader: GoogleCsvHandler):
self._data = self._load_data()
self._loader = loader
@property
def data(self) -> typing.OrderedDict:
return self._data
@property
def loader(self) -> GoogleCsvHandler:
return self._loader
def _load_data(self):
data = self.loader.load()
return data
def get_dataframe(self) -> pd.DataFrame:
return pd.DataFrame()
def validate(self) -> bool:
return True
问题是我在尝试实例化它时遇到以下错误:AttributeError: 'Zones' object has no attribute '_loader'
。
我说不出为什么python可以识别self._data
,但不能识别self._loader
。
您试图在设置加载程序之前加载数据。更改 __init__()
中的顺序:
class Zones(implements(DataLoader)):
def __init__(self, loader: GoogleCsvHandler):
self._loader = loader
self._data = self._load_data()
我在 Python 中有以下 class:
class Zones(implements(DataLoader)):
def __init__(self, loader: GoogleCsvHandler):
self._data = self._load_data()
self._loader = loader
@property
def data(self) -> typing.OrderedDict:
return self._data
@property
def loader(self) -> GoogleCsvHandler:
return self._loader
def _load_data(self):
data = self.loader.load()
return data
def get_dataframe(self) -> pd.DataFrame:
return pd.DataFrame()
def validate(self) -> bool:
return True
问题是我在尝试实例化它时遇到以下错误:AttributeError: 'Zones' object has no attribute '_loader'
。
我说不出为什么python可以识别self._data
,但不能识别self._loader
。
您试图在设置加载程序之前加载数据。更改 __init__()
中的顺序:
class Zones(implements(DataLoader)):
def __init__(self, loader: GoogleCsvHandler):
self._loader = loader
self._data = self._load_data()