3

建议我重新发布此内容以更清楚。

上了一堂课,剩下的少了这一堂课。任何指导表示赞赏。我已经得出了我坚持的部分问题,以保持简短。我也附上了我的工作。

通过下面的工作,我希望能够创建一个包含一个变量的类。我希望能够更改该变量并打印新变量。例如,将值从 horns = 2 更改为 horns = 4。问题要求我专门使用下面的 3 个函数来回答问题。使用我当前的代码,在 raw_input 提示符处输入值后,我会收到一条错误消息。

提前感谢您的帮助。

问题如下:

创建一个包含 1 个变量的类,其中包含自己的属性。提供以下3种方法:

getvariable1() - 使用返回键返回属性 1 的值

setvariable1() - 这应该允许为属性 1 指定新值 - 接受输入所需的附加参数。

printfun() - 打印对象变量的值。

创建您自己的类对象并为创建的对象调用 get & set 方法。使用 printfun() 方法检查代码是否有效。

我的工作:

class animal:
    horns = 2

    def printerfun(self):
        print getHorns() 

    def getHorns(self): #don't get where I should call this
        return self.horns

    def setHorns(horns): 
        self.horns = horns

animal_1 = animal()

F1 = raw_input('Please enter number of horns: ')
setHorns(F1) 
4

2 回答 2

1

这是你想要得到的吗?

class animal: 
    horns = 2

    def printerfun(self):
        print self.getHorns() 

    def getHorns(self):
        return self.horns

    def setHorns(self, horns): 
        self.horns = horns

if __name__ == "__main__"
    animal_1 = animal()
    animal_1.printerfun()

    F1 = raw_input('Please enter number of horns: ') 
    animal_1.setHorns(F1)
    animal_1.printerfun()
    horns = animal_1.getHorns()
    print(horns)

这输出:

>>> 2
>>> Please enter number of horns: 4
>>> 4
>>> 4
于 2013-01-30T21:02:04.253 回答
1

setHorns不存在:animal.setHorns确实。这是一个类方法

看来您需要阅读一些有关面向对象编程的内容,这是涉及类时使用的编程风格。

在这个特定的练习中,您需要创建一个animal 对象。为此,您需要实例化该类。这就是你所做的animal_1 = animal()animal_1现在是animal类的一个对象,你可以调用它的方法:animal_1.setHorns(2)

如果您仍在为这些概念而苦苦挣扎,您可能需要阅读python 中更接地气的教程

于 2013-01-30T21:03:53.900 回答