类中的输入方法

时间:2014-01-17 16:25:52

标签: python python-2.7

Class Gui: # будущее гуи, получает данные о спортсмене
    # и передает в класс Person

    def input(self):
        self.inputName =input("name")
        return self.inputName

the_app=Gui() 
print the_app.input()

如何确定我的问题?

请帮忙 现在,我收到此错误

Traceback (most recent call last):   
File "/home/julia/COURSEWORK/person.py", line 34, in <module>
     print the_app.input()   
File "/home/julia/COURSEWORK/person.py", line 29, in input
     self.inputName =input("name")   
File "<string>", line 1, in <module> NameError: name 'j' is not defined

1 个答案:

答案 0 :(得分:0)

在Python 2.x中,input将其输入评估为真正的Python代码。换句话说,它等同于:

eval(raw_input())

要修复您显示的错误,您需要使用raw_input,而不是评估其输入,而是将其作为字符串对象返回。


此外,Python区分大小写。此外,所有关键字(包括class)都是小写的。所以,当你运行那段代码时,你会得到一个NameError,说Class未定义(我不知道你是怎么做到的,没有遇到过这个问题。也许你写错了张贴在这里?)


最后,在Python 2.x中,所有类都应该从object内置继承,以使它们成为“新风格”类。您可以阅读有关here的内容。


总而言之,您的代码应该如下所示:

class Gui(object): # будущее гуи, получает данные о спортсмене
    # и передает в класс Person

    def input(self):
        self.inputName = raw_input("name")
        return self.inputName

the_app = Gui() 
print the_app.input()