[英]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.