如何在Python中的同一个类中的其他方法中传递一个方法的变量

时间:2016-11-19 01:22:05

标签: python class methods

我是python的新手,并试图找出我的第一个python代码中的问题。我正在使用方法 temp 中的用户输入 parameter ,我想将此temp与另一个变量{{1}进行比较在oven_temp方法中。但我得到一个make_item名称NameError未定义。我在这里阅读了一些帖子,并提到我必须从方法中返回值。我退回了它,但没有确切地知道如何继续。

temp

2 个答案:

答案 0 :(得分:2)

将其保存在self

class MyMaker:
    def ask_temperature(self):
        self.temp = int(input('Temperature? \n'))

    def print_temperature(self):
       print("temp", self.temp)

试一试:

> maker = MyMaker()
> maker.ask_temperature()
Temperature?
4
> maker.print_temperature()
temp 4

答案 1 :(得分:1)

以下内容应该可以解决您的问题。基本上,您希望将要在方法之间传递的变量存储为类的成员。您可以通过为函数指定self参数的属性来完成此操作。

 class maker:
    def parameter(self):
        self.temp = int (input ('At what temperature do you want to make \n'))


    def make_item (self):
        def oven ():
            oven_temp = 0
            while (oven_temp is not self.temp):
                oven_temp += 1
                print ("waiting for right oven temp")

        oven()


person = maker ()
person.parameter()
person.make_item()