类没有输出参数/执行任何操作?(Python)
当我尝试实例化该类时,例如:类没有输出参数/执行任何操作?(Python),python,class,oop,object,Python,Class,Oop,Object,当我尝试实例化该类时,例如: class Fridge: def __init__ (self, food, quantity): self.food=food self.quantity=quantity def UserEntry(self): if input=="milk": print("you got milk!") else: print ("What d
class Fridge:
def __init__ (self, food, quantity):
self.food=food
self.quantity=quantity
def UserEntry(self):
if input=="milk":
print("you got milk!")
else:
print ("What do you want?")
def DisplayFridge(self):
print("Fridge_item#1 :" , self.food, "Quantity:" , self.quantity)
我一打开括号就可以实例化这个类,如下所示:
test= Fridge
我看到了传递给类构造函数/初始化方法的参数。i、 e.食物和数量
考虑到这一点,我有点不知所措,为什么我没有得到任何输出。也不是,我被要求输入信息等。您没有通过这种方式获得任何信息,您应该尝试:
test = Fridge (
但您的代码中严重缺乏逻辑:
为什么从不使用UserEntry?
你们怎样使用冰箱?
您的userEntry方法永远不会更改self.food变量。
如果要创建实例,请键入
class Fridge:
def __init__ (self, food, quantity):
self.food=food
self.quantity=quantity
def UserEntry(self):
var = raw_input("Please enter something: ")
if var=="milk":
print("you got milk!")
else:
print ("What do you want?")
def DisplayFridge(self):
print("Fridge_item#1 :" , self.food, "Quantity:" , self.quantity)
然后,它不会向您显示传递给类构造函数/初始化方法的参数,但会向您显示生成实例必须传递的内容
例如
现在它能装10个牛奶。试一试
test = Fridge("milk", 10)
请写完整的代码。如果您定义了test=fredge'spam',42这样的实例,那么您将如何尝试打印数据。如果input==milk有什么作用呢?提示:您正在将函数对象与字符串进行比较。您认为将在哪里要求输入?您在哪里调用display方法以获得输出?我已经编写了完整的代码:\n那么您还没有调用任何进行输入或输出的代码,因此很难理解为什么您认为应该有一些。我认为输入请求用户逻辑的值并没有真正进入它。这是我第一次使用OOP,我在自学,我更关心的是如何掌握技术,理解OOP的各个部分,术语,如何调用它们等等。你必须一步一步地构造代码。这里有一些没有任何用途的部件。你想让那个用户条目做点什么。为什么不先测试一下您是否可以在一个简单的Python脚本中而不是在一个方法类中获得用户的输入呢?这是一件令人恼火的事情。我以前收到过用户的输入,甚至做过参数检查等!所以我不知道为什么这次没有成功:因为你在比较输入,一个函数,和milk,一个字符串。您想要的是将用户输入的输入字符串与milk字符串进行比较,这给我带来了另一个困惑点。实例和对象之间的区别到底是什么?我认为它是,一个实例=单数,一个对象=复数,但是,它告诉我,这是一个严重的过度简化,很可能也是错误的哦,对象有方法,而实例没有……?对象是一个非常通用的术语,但通常它与实例或多或少是相同的。类是冰箱的定义,您可以使用该定义创建许多实例冰箱。每个实例都有自己的数据实例A的self.food和self.quantity与实例b的self.food和self.quantity是分开的,但是您可以对它们调用方法,它们只调用在类上定义的方法,但每个实例都有自己的self参数。
test = Fridge("milk", 10)
test.UserEntry()
test.DisplayFridge()