Можно ли из метода дочернего класса получить доступ к атрибуту родительского класса?

Привет, я изучаю Python 3, и, чтобы закрепить полученные знания по теме ООП, я решил сделать небольшую программу-игру. При создании у меня возникла проблема: я не могу из метода init дочернего класса HumanWarrior получить доступ к атрибуту (в данном случае списку objects) родительского класса GameObject. При начале работы выдаётся ошибка: “Name error: name ‘objects’ is not defined”. Надеюсь что кто-то подскажет в чём проблема кода.

class GameObject:
    class_name=""
    desc=""
    objects=[]
    
    def get_desc(self):
        return self.class_name + "\n" + self.desc

class HumanWarrior(GameObject):
    def __init__(self, name):
        self.class_name = "human-warrior"
        self.health = 10
        self.desc = "Ordinary human. Wears strong armor, shield and a sharp sword, which use to clean up world from unholy creatures"
        self.name=name
        self.answer0="My name is {}, I'm a protector of the Empire".format(self.name)
        self.answer1="The Kingdom of Zarvin is the capital of the Empire"
        self.answer2="I will clean up world from all vicious monsters and servants of evil"
        self.answer3="Union of Elves is ignorant and I don't respect them, but this is necessary alliance"
        self.answer4="Don't you have any other bussines?"
        objects.append(self.class_name)

humanwarrior=HumanWarrior("Vernon")

super().objects

Куда я должен вставить эту функцию?

Спасибо за вариант, но я только что сам решил эту проблему. Нужно было поставить self перед

objects.append(self.class_name)

вместо


А, да, тут можно и так. super() необходим когда надо вызвать что-то именно из родительского.
Например, конструктор

    def __init__(self, name):
        super().__init__(name)

или при переопределении других функций.

Тут не поможет super(), так как objects это не часть метода класса, а его атрибут, то-есть его и вызвать подобным образом не получится. В любом случае спасибо за информацию!

Через super() тоже можно так же, просто в данном случае нет особого смысла его использовать.

$ python3
Python 3.8.2 (default, Jul 16 2020, 14:00:26) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> class GameObject:
...     objects=['hello']
... 
>>> class HumanWarrior(GameObject):
...     def __init__(self, name):
...         print(super().objects)
...         self.objects.append('world')
...         super().objects.append('!')
...         print(super().objects)
... 
>>> humanwarrior=HumanWarrior("Vernon")
['hello']
['hello', 'world', '!']

Теперь понял. Спасибо ещё раз.