本作业说明:编写一个名为 Pet 的类,该类应具有以下属性:
__姓名 __动物类型 __年龄 然后它将具有以下方法:
集合名称 设置动物类型 设置年龄 获取名称 获取动物类型 获取年龄 编写完此类后,编写一个程序来创建该类的对象并提示用户输入宠物的名称、类型和年龄。数据应存储为对象的属性。使用对象的访问器方法检索宠物的名称、类型和年龄并显示在屏幕上。
这是我的代码和错误: 在此输入图片描述
class pet:
#Define the initializer Method with private attributes name, address, and age
def __init__(self,name,animal_type,age):
self.__name=name
self.__animal_type=animal_type
self.__age=age
#Write appropriate accessor and mutator methods
def get_name(self):
return self.__name
def get_animal_type(self):
return self.__animal_type
def get_age(self):
return self.__age
def set_name(self,newname):
self.__name=newname
def set_animal_type(self,newanimal_type):
self.__animal_type=newanimal_type
def set_age(self,newage):
self.__agee=newage
import pet
#creates three instances of the class.
def main():
name=input("What is the name of the pet: ")
animal_type=input("What type of pet is it: ")
age=int(input("How old is your pet: "))
userpet=pet(name,animal_type,age)
print("Here is the data you entered:")
print("Pet Name: ", userpet.get_name)
print("Animal Type: ", userpet.get_animal_type)
print("Age: ", userpet.get_age)
main()
Traceback (most recent call last):
File "C:\Users\dmoor\Downloads\mainclasshw.py", line 13, in <module>
main()
File "C:\Users\dmoor\Downloads\mainclasshw.py", line 7, in main
userpet=pet(name,animal_type,age)
TypeError: 'module' object is not callable. Did you mean: 'pet.pet(...)'?
我不知道我哪里做错了
您有一个名为
pet.py
的模块,并且在该模块内有一个名为 pet
的类。
当您的主脚本有
import pet
时,这只导入 module。 您仍然需要参考模块内部的pet
类。
您可以通过两种方式做到这一点。 要么直接导入:
from pet import pet
或者使用点符号在模块内引用它:
userpet=pet.pet(name,animal_type,age)