Class içindeki değere nasıl ulaşabilirim?

Arkadaşlar merhabalar, aşağıdaki kodlarda bulunan örneğin war2 öğesinin power değişkenine nasıl ulaşabilirim? Şimdiden teşekkür ederim.

import random
import string

class war:
    def warrior_class(self):
        lst = ["Priest","Knight","Necromancer","Thief","Assasian","Warlock","Paladin"]
        select = random.randint(0, 6)
        return lst[select]
    def get_random_string(self,length):
        # choose from all lowercase letter
        letters = string.ascii_lowercase
        result_str = ''.join(random.choice(letters) for i in range(length))
        return result_str.capitalize()
    def power(self):
        _power = random.randint(50,150)
        return _power
    def Warrior(self):
        print(f"Class {self.warrior_class()} Name {self.get_random_string(6)} Power {self.power()} ")
        return self.power

war1 = war()

war2 = war()


if war1.Warrior() > war2.Warrior():
    print("War1")
elif war2.Warrior() > war1.Warrior():
    print("War2")

Çıktı olarak War 1 değeri küçük olmasına rağmen ekranda War1 yazmakta. Bunu nasıl önlerim?

power degisken degil, bir fonksiyon. Her seferinde degisik, rastgele bir deger donduruyor. Dondurdugu degeri bir degiskene atamak lazim. (self.power = _power?)

Warrior fonksiyonu power fonksiyonunu donduruyor. Iki fonksiyon > ile karsilastiriliyor… Sonucun mantikli olacagini sanmiyorum.

war2.power() yaparak ulaşacağınızı düşünüyorum.