这个问题在这里已有答案:

我应该为这个类实例使用setter和getter,但是在我提示用户输入后得到以下错误 .

回溯(最近一次调用最后一次):文件"python",文件"python", init 文件"python",名称文件"python",名称文件"python",名称[上一行重复492次] RecursionError:超出最大递归深度

class Pet:

  def __init__(self, nameOfPet, typeOfPet, ageOfPet):
    self.Name = nameOfPet
    self.Types = typeOfPet
    self.Age = ageOfPet

  @property
  def Name(self):
    return self.Name

  @Name.setter
  def Name(self, petName):
    self.Name = petName

  @property
  def Types(self):
    return self.Types

  @Types.setter
  def Types(self, petType):
    self.Types = petType

  @property
  def Age(self):
    return self.Age

  @Age.setter
  def Age(self, petAge):
    self.Age = petAge

  def printPetInfo(self):
    print("Hello. Your pet's name is {}, it is a {} type and it is {} years old. ".format(self.Name,self.Types,self.Age))

#Get input from user.
name = input("Enter the pet's name: ")
types = input("Enter the pet's type (Dog, Cat, Bird, etc.): ")
age = input("Enter the pet's age (in years): ")
while age.isalpha():
  print()
  print("Age cannot contain numbers. Try again.")
  age = input("Enter the pet's age (in years): ")

#Instantiate a new Pet Instance.
myPet = Pet(name,types,age)

myPet.printPetInfo()

print("\n \n \n \n \n \n")