Python - 创建一个类并使用函数更改它的对象值

时间:2013-01-30 20:36:48

标签: python class function object

我被建议重新发布,以便更清楚。

做一个课程并完成其余的课程。任何指导表示赞赏。我已经把问题的一部分归结为我坚持做的事情。我也附上了我的工作。

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

提前感谢您的帮助。

问题如下:

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

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

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

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

创建自己的类对象并调用get&设置创建对象的方法。使用printerfun()方法检查代码是否有效。

我的工作:

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) 

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

setHorns不存在:animal.setHorns。 这是一个class method

sems你需要阅读一些关于Object Oriented Programming的内容,这是涉及课程时使用的编程风格。

在此特定练习中,您需要创建animal object。为此,您需要instanciate课程。这就是您使用animal_1 = animal()所做的。 animal_1现在是animal类的对象,您可以调用其方法:animal_1.setHorns(2)

如果您仍在努力解决这些问题,您可能需要阅读更多内容ground to earth tutorial in python