[英]Passing values from one class to another class in Python
我正在研究Python上的OOP,在一句话中,我有以下内容:
class Burrito:
def __init__(self, meat):
self.meat = self.set_meat(meat)
def set_meat(self, meat):
self.meat = ["chicken", "pork", "steak", "tofu"]
if meat in self.meat:
self.meat = meat
else:
self.meat = False
return self.meat
def get_meat(self):
return self.meat
def get_cost(self, cost = 25):
if self.meat in self.meat:
return cost
else:
return 0
newBurrito = Burrito("steak")
print(newBurrito.get_cost())
此练习的目标是检查Burrito(肉)是否为“牛排”,如果是,则为25。
现在为我提供了另一个名为Meat的类,并且有了这个类,我必须重写代码以执行相同的操作,而不必仅更改Burrito类的Meat类,这是我的代码:
class Meat:
def __init__(self, value=False):
self.set_value(value)
def get_value(self):
return self.value
def set_value(self, value):
if value in ["chicken", "pork", "steak", "tofu"]:
self.value = value
else:
self.value = False
class Burrito:
def __init__(self, meat):
self.meat = Meat(meat)
def get_cost(self, cost = 25):
if self.meat in self.meat:
return cost
else:
return 0
newBurrito = Burrito("steak")
print(newBurrito.get_cost())
如您在成本法中看到的,我不知道如何将价值从Class Meat传递给Class Burrito,请您能帮我吗?
def get_cost(self, cost = 25):
if self.meat.get_value() == "steak":
return cost
else:
return 0
class Meat:
def __init__(self, value=False):
self.set_value(value)
def get_value(self):
return self.value
def set_value(self, value):
if value in ["chicken", "pork", "steak", "tofu"]:
self.value = value
else:
self.value = False
class Burrito:
def __init__(self, meat):
self.meat = Meat(meat)
def get_cost(self, cost = 25):
if self.meat:
return cost
newBurrito = Burrito("steak")
print(newBurrito.get_cost())
我对您的代码进行了稍微的更改。 当您在init函数中使用Meat(meat)时, Meat(meat)会构造一个对象,其中meat.value是结果。 您需要做的只是简单地判断它是否为True。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.