"尝试创建一个程序,您可以在其中创建自己的汽车。问题是我收到一条我不明白的错误消息。程序本身您应该能够创建汽车并放入年份模型。我可能在这里过头了,因为我以前从未使用过类函数"
"error messages"
" line 1, in <module> class Car:"
" line 13, in Car print("i have now goten my ",a.getYear(),"year model")"
"NameError: name 'a' is not defined"
法典:
class Car:
def __init__(self, a=0):
self.Year= a
def getYear(self):
return self.Year
def setYear(self, a):
self.year = a
return
print("i have now goten my ",a.getYear(),"year model")
你有几个错误...试试这个代码..它应该工作:
class Car:
def __init__(self):
a = 0
self.Year= a
def getYear(self):
return self.Year
def setYear(self, a):
self.Year = a
print("i have now goten my ", self.getYear(),"year model")
#return self.Year
bmw = Car()
bmw.setYear(10)
这应该给你:
i have now goten my 10 year model
a 是一个变量,对吗? 然后你在函数中使用它,如果你不放一个global
,它将无法工作。 它是如何工作的? 示例 :
a = "hello"
def print():
print(a)
print()
输出应该是"hello",对吧?但是这个函数就像你第一个脚本中的第二个脚本,所以你需要告诉他去搜索函数中的可重复的。所以:
a = "hello"
def print():
global a
print(a)
print()
输出是"hello",因为现在 a 是一个全局变量,它适用于主脚本和函数!
class Car:
def __init__(self, a=11):
self.Year = a
def getYear(self):
return self.Year
def setYear(self, a=22):
self.Year = a
print("I have now goten my", self.getYear(), "year model")
car1 = Car()
# def __init__
car1.Year # default Year
print("This is default year {}".format(car1.Year))
car1.Year = 4 # e.g 4 year
print("This is e.g year {}".format(car1.Year))
# getYear(self):
print("This is get year {}".format(car1.getYear()))
# def setYear
car1.setYear()
car1.setYear(5)
这将为您提供:
This is default year 11
This is e.g year 4
This is get year 4
I have now goten my 22 year model
I have now goten my 5 year model