gpt4 book ai didi

python - 实例添加__call__方法后对象为 "not callable"

转载 作者:行者123 更新时间:2023-11-28 21:55:49 28 4
gpt4 key购买 nike

<分区>

我有以下代码

import numpy as np

class Estimator(object):
name = None

def __init__(self):
self.__call__ = self._call

class Mean(Estimator):
name = 'mean'

def _call(self, data):
return np.mean(data)

data = np.arange(10)

现在,为什么我不能将第二个类用作第一个类的仿函数?

它似乎有效:

M = Mean()
print M.__call__(data) # -> 4.5

M 有方法__call__:

print '__call__' in dir(M)  # -> True

但是没用

print M(data)

我得到:

TypeError: 'Mean' object is not callable

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com