Программа не видит атрибут класса, хотя он есть

Выдаёт ошибку AttributeError: type object 'Guns' has no attribute 'gun_name' Не понимаю почему, вопроса не нашел, прошу помочь. Заранее прошу прощения, если что-то неправильно написал, пользуюсь сайтом в первый раз.

    class Guns:
        def __init__ (self,name, power):
            self.gun_name = name
            self.gun_power = power
        def Display_Weapon(self):
            print("Оружие - {0}, Урон - {1}".format(self.gun_name, self.gun_power))
            
            
    class Player:
        def __init__(self, health, my_gun):
            self.health = health
            Guns.my_gun = my_gun
            
        def Display_Player_Info(self):
            print("Ваше здоровье = {0}, Ваше оружие - {1} (Урон = {2}".format(self.health, Guns.gun_name, Guns.gun_power))
    
    pistol = Guns("Pistol", 10)
    human = Player(30,pistol)
    Player.Display_Player_Info(human)

Ответы (2 шт):

Автор решения: CrazyElf

Вам нужно понять разницу между полями класса и экземпляра класса. Это поле есть у экземпляра класса, а вы пытаетесь обращаться к нему через класс.

→ Ссылка
Автор решения: gil9red

Заметил проблемы в этим местах:

Guns.my_gun = my_gun
print("Ваше здоровье = {0}, Ваше оружие - {1} (Урон = {2}".format(self.health, Guns.gun_name, Guns.gun_power))
Player.Display_Player_Info(human)

С большой буквы Guns и Player, это классы, а не объекты.

Вам нужно создавать объекты и работать с объектами и их полями

Подправил:

class Guns:
    def __init__ (self,name, power):
        self.gun_name = name
        self.gun_power = power
    def Display_Weapon(self):
        print("Оружие - {0}, Урон - {1}".format(self.gun_name, self.gun_power))
        
        
class Player:
    def __init__(self, health, my_gun):
        self.health = health
        self.my_gun = my_gun
#       ^^^^^^^^^^^^^^^^^^^^        

    def Display_Player_Info(self):
        print("Ваше здоровье = {0}, Ваше оружие - {1} (Урон = {2}".format(self.health, self.my_gun.gun_name, self.my_gun.gun_power))
#                                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

pistol = Guns("Pistol", 10)
human = Player(30,pistol)
human.Display_Player_Info(human)
# ^^^^^^
→ Ссылка