宠物类Python

问题描述 投票:0回答:1

本作业说明:编写一个名为 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(...)'?

我不知道我哪里做错了

python class
1个回答
0
投票

您有一个名为

pet.py
的模块,并且在该模块内有一个名为
pet
的类。

当您的主脚本有

import pet
时,这只导入 module。 您仍然需要参考模块内部的
pet
类。 您可以通过两种方式做到这一点。 要么直接导入:

from pet import pet

或者使用点符号在模块内引用它:

userpet=pet.pet(name,animal_type,age)

	
© www.soinside.com 2019 - 2024. All rights reserved.