運行此腳本時,我收到以下錯誤。運行腳本時NameError
p1=Person1("Plumber",fav_food,ethnicity,name,"male")
NameError: name 'fav_food' is not defined
我是新來OOP,但是,我的理解是,fav_food
是定義在我所定義的Person1
類。顯然我錯了,但爲什麼?
class Person():
def __init__(self,job,fav_food,ethnicity,name,gender):
self.job=job
self.fav_food=fav_food
self.ethnicity=ethnicity
self.name=name
self.gender=gender
class Person1(Person):
def __init__(self,job,fav_food,ethnicity,name,gender):
Person.__init__(self,job,fav_food,ethnicity,name,gender)
self.job=job
self.fav_food="chips"
self.ethnicity="white"
self.name=random.shuffle(names)[0]
self.gender=gender
p1=Person1("Plumber",fav_food,ethnicity,name,"male")
和你在哪裏定義的模塊級'fav_food'? – Daniel
抱歉,不確定你的意思 - 我認爲通過在Person1類中定義self.fav_food,我不必在其他地方定義它 – ThePrinceofPython
有不同的名稱空間,全局變量和本地變量。 'fav_food'只在'__init__'本地定義。 – Daniel