关于python类的方法中属性定义的疑惑

这段代码有个地方不明白,attack中的enemy是一个变量,为什么能够将life_value作为他的属性使用,life_value正常不应该作为实例self的属性吗?


class Garen:                                        
    camp='Demacia'                                    
    def __init__(self,name,damage=60,life_value=570): 
        self.name=name                               
        self.damage=damage                          
        self.life_value=life_value                  
    def attack(self,enemy):                           
        enemy.life_value -= self.damage               

因为enemy也是同一个类,或者也有life_value的属性

enemy也是一个class定义的类,里面也有life_value的属性啊。