Я изучаю Python в данный момент задача заключается в следующем;Напишите программу, которая считывает информацию о питомце (имя, тип и возраст) из файла (называемого animals.txt) и создает объекты Pet (используя информацию, хранящуюся в файле animals.txt).Храните объекты Pet в списке с именем животных.
animal.txt
ralph, dog, 3
buster, cat, 8
sammy, bird, 5
mac, dog, 1
coco, cat, 6
Мой созданный файл класса называется pet.py
class Pet:
# The __init__ method initializes the data attributes of the Profile class
def __init__(self, name ='', animal_type = '', age = ''):
self.__name = name
self.__animal_type = animal_type
self.age = 0
def __str__(self):
string = self.__name + ' ' + self.__animal_type + ' ' + self.age
return string
def set_name(self, name):
self.__name = name
def get_name(self):
return self.__name
def set_animal_type(self, breed):
self.__animal_type = breed
def get_animal_type(self):
return self.__animal_type
def set_age(self, old):
self.age = old
def get_age(self):
return self.age
Затем я хочу использовать этот класс в файле animals.py
import pet
animals = [] // create a list
infile = open("animals.txt", "r") // open the file
lines = infile.readlines() // read all lines into list
## add each pet object
for line in lines:
data = line.split(",")
animals.append(pet.set_name(data[0]))
animals.append(pet.set_animal_type(data[1]))
animals.append(pet.set_age(data[2]))
infile.close()
Я получаю ошибку
pet.set_name [pylint] E1101: модуль 'pet' не имеет члена 'set_name'.
Если я сделаю этот код ниже в файле класса pet.py I don 'Вы получите ошибку
pet = Pet()
name = "thing"
breed = "dog"
pet.set_name(name)
pet.set_animal_type(breed)
pet.set_age(10)
print(pet)
и она вернется, как и ожидалось
вещь собака 10
Почему не animals.py файл позволяет мне использовать класс, который я импортировал?
Я пробовал pet = Pet (), но у него
ошибка E0602: неопределенная переменная 'Pet'