【问题标题】:TypeError: unbound method _get_tests() must be called with Loader instance as first argument (got nothing instead)类型错误:必须使用 Loader 实例作为第一个参数调用未绑定的方法 _get_tests()(什么都没有)
【发布时间】:2018-01-06 14:10:34
【问题描述】:

在以下代码中,“_get_classes”方法工作正常,但“_get_tests”抛出上述错误。我在这里做错了什么?

def my_func():
     x = Loader._get_classes("test","number") # This works fine

     y = Loader._get_tests("abc","def","ghi") # This does not work



class Loader(object):
    def _get_classes(f, prefix_class_name=None):
         #code here

    def _get_tests(self, module_name, test_class, prefix_test_name):
         #code here

【问题讨论】:

  • 您确定 _get_classes() 方法可以正常工作吗? x = Loader._get_classes("test","number") # 这很好用 TypeError: unbound method _get_classes() must be called with Loader instance as first argument (got str instance)

标签: python python-2.7 class object


【解决方案1】:

你可以参考这个:unbound method

你必须创建一个类Loader的实例来调用方法_get_tests,示例:

loader = Loader()
loader._get_tests("abc", "def", "ghi")

因为这个方法在参数中有self。这意味着引用类的实例。方法_get_classes 的参数中没有self,因此无需实例即可正常工作。

【讨论】:

  • 你可以随意调用'self'参数,这只是一个约定,它被称为self。
猜你喜欢
  • 2014-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-24
  • 2017-12-23
  • 1970-01-01
相关资源
最近更新 更多