在Python中使用类时返回正确的值

在Python中使用类时返回正确的值,python,string,main,Python,String,Main,因此,我正在学习编程和Python,并试图编写一些代码,用Python制作一个单词扫描器。对象是获取用户给定的单词字符串并返回元组列表,元组的读取格式为(TYPE,WORD),其中TYPE是单词的类型,WORD是单词本身。我通过在一组包含该类型单词的列表中搜索单词来确定单词的类型。如果单词在那里,或者是一个数字,元组将返回相应的类型和单词;如果单词不存在,元组将返回一个“错误”和单词。例如,如果输入为“我的狗向北走了3天”,则返回的列表将如下所示: [('error', 'My'), ('nou

因此,我正在学习编程和Python,并试图编写一些代码,用Python制作一个单词扫描器。对象是获取用户给定的单词字符串并返回元组列表,元组的读取格式为(TYPE,WORD),其中TYPE是单词的类型,WORD是单词本身。我通过在一组包含该类型单词的列表中搜索单词来确定单词的类型。如果单词在那里,或者是一个数字,元组将返回相应的类型和单词;如果单词不存在,元组将返回一个“错误”和单词。例如,如果输入为“我的狗向北走了3天”,则返回的列表将如下所示:

[('error', 'My'), ('noun', 'dog'), ('error', went), 
('number', 'north'), ('error', 'for'), ('number', '3'), ('error', 'days')]
或者类似的

无论如何,当我输入代码试图通过在命令行的主项目目录中运行它来实现这一点时,我唯一不断返回的值就是调用

<__main__.scan object at 0x7fe88b5cd750>
这是我在上面的代码中导入的模块的代码:

class numconv(object):

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

def convert_number(self, s):
    try:
        self.value = int(s)
        return ("number", self.value)
    except ValueError:
        return None

问题是,我已经得到了这个的基本框架,以另一种形式工作。在这种格式中,我没有声明类,只是将上面在“scan”和“numconv”类中看到的所有内容作为模块从文件中调用,以运行扫描仪。但是我正在尝试将其转换为“类”格式,并尝试将扫描仪作为“扫描”类的实例调用。到目前为止,我没有得到我想要的(TYPE,WORD)元组列表,而是一直得到main.scan object thing作为返回值。如果有人能这么客气的话,他们能解释一下我在尝试将其转换为类格式时出错的地方,以及为什么我在尝试使用用户输入字符串调用scan类时只将“main.scan object”作为返回值吗?谢谢。

在您使用本课程时:

sentlist = scan(string)
print sentlist;
您正在创建类的实例并打印它。 相反,我相信您希望调用scanner成员函数:

mySring = "somestring";    // declares a string 
s = scan(myString);       // creates instance of class, passing string as arg
sentlist = s.scanner();  // runs the function scanner, returning output 

不完全是。我想:声明一个要运行的字符串,创建一个类的实例,在该实例中运行该字符串,从调用该实例的'string'参数中获取应该得到的列表,然后打印该列表。谢谢,我想这正是我想要的。
mySring = "somestring";    // declares a string 
s = scan(myString);       // creates instance of class, passing string as arg
sentlist = s.scanner();  // runs the function scanner, returning output