第二次我调用类方法时对象无法调用

riccio777

我有一个班级比赛:

class Match(object):

  def __init__(self,id):
      self.id = id

  def result(self):
      # somehow find the game result
      self.result = result
      return self.result

如果我将匹配对象初始化为

m = Match(1)

当我调用方法结果时

m.result
Out[18]: <bound method Match.result of <football_uk.Match object at 0x000000000B0081D0>>

当我用括号来称呼它时,我得到

m.result()
Out[19]: u'2-3'

这是正确的答案。但是,当我尝试调用第二,第三,第四等方法时,我得到了

m.result()
Traceback (most recent call last):

  File "<ipython-input-20-42f6486e36a5>", line 1, in <module>
m.result()

TypeError: 'unicode' object is not callable

如果现在改为调用不带括号的方法,则该方法有效:

m.result
Out[21]: u'2-3'

与其他类似方法相同。

马丁·彼得斯(Martijn Pieters)

您已为实例指定了一个名为的属性result

self.result = result

现在将掩盖该方法。如果不想屏蔽该方法,则不能使用与该方法相同的名称。重命名属性或方法。

您可以使用该名称_result作为示例:

def result(self):
    # somehow find the game result
    self._result = result
    return self._result

self只是对相同对象的另一个m引用。在上设置或找到的属性与在上找到的属性self相同m,因为它们是同一对象。之间m.resultself.result此处没有区别

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Jupyter Notebook中第二次运行后无法调用'numpy.ndarray'对象

来自分类Dev

在倒数第二次未返回承诺时,无法调用递归承诺

来自分类Dev

为什么在第二次调用“删除此”指针之后运行对象的方法

来自分类Dev

Android Eclipse项目中第二次调用Java方法时如何做

来自分类Dev

使用 DataTable 服务器端脚本在第二次单击按钮时无法调用 ajax

来自分类Dev

为什么我的Angular的ng-show调用仅在使用Firebase的第二次单击时得到更新?

来自分类Dev

第二次调用任务产生副作用

来自分类Dev

如何使Jest spOn函数第二次调用

来自分类Dev

Swig模板在第二次调用时挂起

来自分类Dev

第二次尝试从IIS调用Powershell失败

来自分类Dev

ActiveX控件的构造函数第二次调用

来自分类Dev

第二次调用后,Ajax复制请求

来自分类Dev

Android onCreate在第二次活动中被调用

来自分类Dev

第二次调用时会跳过的fget

来自分类Dev

onKeyUp函数第二次不调用

来自分类Dev

getFragmentManager()在第二次调用时返回null

来自分类Dev

第二次没有调用 Redux 操作

来自分类Dev

第二次函数调用导致分段错误

来自分类Dev

第二次调用同一函数会导致类错误

来自分类Dev

React Ref对象在第二次调用后会自行重置

来自分类Dev

从QML访问Python QObject无法在第二次调用时进行转换

来自分类Dev

我的 API 在第二次被调用时返回响应

来自分类Dev

tkinter和python-方法的第一次调用可以,方法的第二次调用抱怨对象没有该属性

来自分类Dev

在第二次调用bindService()时再次实例化Android服务

来自分类Dev

UITableView didSelectRowAtIndexPath有时在第二次点击后被调用

来自分类Dev

第二次调用Form时未处理Form Load事件

来自分类Dev

Ajax调用是在第二次提交表单时双重发布表单

来自分类Dev

Fileupload fileUploadListener仅在第二次按下按钮时被调用

来自分类Dev

当第二次调用addEventListener时,如何摆脱在addEventListener中使用的旧值?

Related 相关文章

  1. 1

    在Jupyter Notebook中第二次运行后无法调用'numpy.ndarray'对象

  2. 2

    在倒数第二次未返回承诺时,无法调用递归承诺

  3. 3

    为什么在第二次调用“删除此”指针之后运行对象的方法

  4. 4

    Android Eclipse项目中第二次调用Java方法时如何做

  5. 5

    使用 DataTable 服务器端脚本在第二次单击按钮时无法调用 ajax

  6. 6

    为什么我的Angular的ng-show调用仅在使用Firebase的第二次单击时得到更新?

  7. 7

    第二次调用任务产生副作用

  8. 8

    如何使Jest spOn函数第二次调用

  9. 9

    Swig模板在第二次调用时挂起

  10. 10

    第二次尝试从IIS调用Powershell失败

  11. 11

    ActiveX控件的构造函数第二次调用

  12. 12

    第二次调用后,Ajax复制请求

  13. 13

    Android onCreate在第二次活动中被调用

  14. 14

    第二次调用时会跳过的fget

  15. 15

    onKeyUp函数第二次不调用

  16. 16

    getFragmentManager()在第二次调用时返回null

  17. 17

    第二次没有调用 Redux 操作

  18. 18

    第二次函数调用导致分段错误

  19. 19

    第二次调用同一函数会导致类错误

  20. 20

    React Ref对象在第二次调用后会自行重置

  21. 21

    从QML访问Python QObject无法在第二次调用时进行转换

  22. 22

    我的 API 在第二次被调用时返回响应

  23. 23

    tkinter和python-方法的第一次调用可以,方法的第二次调用抱怨对象没有该属性

  24. 24

    在第二次调用bindService()时再次实例化Android服务

  25. 25

    UITableView didSelectRowAtIndexPath有时在第二次点击后被调用

  26. 26

    第二次调用Form时未处理Form Load事件

  27. 27

    Ajax调用是在第二次提交表单时双重发布表单

  28. 28

    Fileupload fileUploadListener仅在第二次按下按钮时被调用

  29. 29

    当第二次调用addEventListener时,如何摆脱在addEventListener中使用的旧值?

热门标签

归档