我在athleteModel.py
脚本中用@property
注释了方法:
@property
def get_from_store():
with open(athleteFilePath,'rb') as pickleFile:
athleteMap = pickle.load(pickleFile)
print('Loaded athleteMap ',athleteMap)
return athleteMap
我在另一个脚本中使用了这个方法:
^{pr2}$在最后一行(print
方法)我得到异常:
TypeError: 'function' object is not subscriptable
args = ("'function' object is not subscriptable",)
with_traceback = <built-in method with_traceback of TypeError object>
我的代码有什么问题?在
@property
只对方法有效,对函数无效。在get_from_store
不是一个方法,而是一个函数。一个property
对象充当descriptor object,描述符只在类和实例的上下文中工作。在在您的例子中,没有必要将
get_from_store
作为属性。删除@property
修饰符,然后像函数一样使用它:否则,您无法使顶级函数的行为类似于属性。在
相关问题 更多 >
编程相关推荐