当前位置: 首页 > 面试题库 >

绑定方法错误

孟俊晖
2023-03-14
问题内容

我正在创建一个词解析类,并在运行此命令时始终收到“ < main
.Word_Parser实例位于0x1037dd3b0>的绑定方法Word_Parser.sort_word_list ”的错误:

class Word_Parser:
    """docstring for Word_Parser"""
    def __init__(self, sentences):
        self.sentences = sentences

    def parser(self):
        self.word_list = self.sentences.split()

    def sort_word_list(self):
        self.sorted_word_list = self.word_list.sort()

    def num_words(self):
        self.num_words = len(self.word_list)

test = Word_Parser("mary had a little lamb")
test.parser()
test.sort_word_list()
test.num_words()
print test.word_list
print test.sort_word_list
print test.num_words

问题答案:

这里没有错误。您正在打印一个函数,这就是函数的外观。

要实际 调用 该函数,必须在其后放置括号。您已经在上面完成了。如果要打印调用函数的结果,只需让函数返回值,然后将打印内容放在该位置即可。例如:

print test.sort_word_list()

另一方面,如果您希望函数更改对象的状态,然后以其他方式打印状态,那也可以。

现在,您的代码似乎可以在某些地方工作,但在其他地方却不能;让我们看看原因:

  • parser设置一个名为的变量word_list,稍后再使用即可print test.word_list
  • sort_word_list设置一个名为的变量sorted_word_list,稍后再使用print test.sort_word_list—即函数,而不是变量。因此,您将看到绑定方法。(此外,正如乔恩·克莱门茨(Jon Clements)指出的那样,即使您解决了这个问题,也要进行打印None,因为这就是sort返回的内容。)
  • num_words设置一个名为的变量num_words,然后再次打印该函数-但在这种情况下,该变量与该函数具有相同的名称,这意味着您实际上是用其输出替换该函数,因此它可以正常工作。但是,这可能不是您想要的。

(在某些情况下,乍一看似乎是个好主意-您只想计算一次,然后一次又一次地访问它而又不不断地对其进行重新计算。但这不是这样做的方法。
(使用@property或使用备注修饰符)。



 类似资料:
  • 请帮助我,我是python新手,现在了解下面的错误 “TypeError:必须使用ExampleScript14实例作为第一个参数调用未绑定的方法assertEqual()(改为使用Get-str实例)” 有关以下代码: 从selenium从selenium导入webdriver。网络驱动程序。常见的按导入按导入单元测试导入时间从时间导入睡眠导入变量

  • 问题内容: 在Python中,有没有办法绑定未绑定的方法而不调用它? 我正在编写一个程序,对于某个类,我决定将所有按钮的数据分组为类级别的元组列表是一件好事,如下所示: 问题是,因为所有的值r都是未绑定方法,所以我的程序爆炸得很厉害,我哭了。 我正在网上寻找解决方案,该方案应该是一个相对直接,可解决的问题。不幸的是我找不到任何东西。现在,我正在解决此问题,但是没有人知道是否存在一种干净,健康,Py

  • 本文向大家介绍详解python方法之绑定方法与非绑定方法,包括了详解python方法之绑定方法与非绑定方法的使用技巧和注意事项,需要的朋友参考一下 写在之前 在 Python 的类里面除了属性之外,还有方法,当然也有文档和注释这类东西,但是这个只是人来看,计算机则不关心。我们之前说过,我们一般用实例调用方法,既然我们说了是一般,那么就说明还有其他调用方法的方式,今天我们就来说一下「绑定方法和非绑定

  • 本文向大家介绍Python类绑定方法及非绑定方法实例解析,包括了Python类绑定方法及非绑定方法实例解析的使用技巧和注意事项,需要的朋友参考一下 一、绑定方法   1.对象的绑定方法   首先我们明确一个知识点,凡是类中的方法或函数,默认情况下都是绑定给对象使用的。下面,我们通过实例,来慢慢解析绑定方法的应用。   从上面的输出结果来看,talk()這个类中的方法,是绑定给对象使用的。下面,我在

  • 问题内容: 我收到以下错误: 我正在尝试登录并返回一个HomePage(如果成功),以及一个LoginPage(如果不使用泛型)。 我有一个基类,Page,由SecuredPage扩展,用于登录墙后面的页面。我写了一个通用的辅助方法,可以构造任何类型的页面。LoginPage上的登录方法使用此方法。LoginPage扩展Page,而HomePage扩展SecuredPage。SecuredPage