我正在创建一个汽车类,您可以在其中创建自己的汽车,但它不起作用



"尝试创建一个程序,您可以在其中创建自己的汽车。问题是我收到一条我不明白的错误消息。程序本身您应该能够创建汽车并放入年份模型。我可能在这里过头了,因为我以前从未使用过类函数"

"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 

相关内容

最新更新