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