爲什麼我不能得到結果(肯德基是美國餐館)?我如何改變它?我是否符合要求?沒有得到期望的結果 - Python
class Restaurant:
__name=""
__cuisine=""
def __init__(self,name,cuisine):
self.__name=name
self.__cuisine=cuisine
def describe_restaurant(self):
print(self.__name, " is a ",self.__cuisine ," restarurant.")
def open_restaurant(self):
print(self.__name ," is open.")
def test():
p=Restaurant("KFC","American")
print(p.describe_restaurant)
這是因爲'p'在't'定義,因此它超出了範圍。你可以將它作爲參數傳遞('h(p)') –
@ t.m.adam已經完美回答了。如果我可以補充一點,另一個迴應建議的全局變量在任何編程語言中通常都不被認爲是最佳實踐。此外,根據您的代碼要求,看起來您根本不需要有兩個單獨的函數。單一功能「測試」應該充分滿足附件中提到的要求。此外,打印p.describe_restaurant返回值的調用將失敗,因爲describe_restaurant()沒有返回值。僅僅打電話給p.describe_restaurant()。 – YashTD
我不會在'describe_restaurant' en'open_restaurant'中使用print語句,讓它返回一個字符串。 – Elmex80s