Как вызвать переменную из метода

У меня есть метод punch и в нем я определил рандомное значение damage, как можно его вызвать глобально ?

 def punch(self):
        self.damage = random.randint(0,20)
        self.health -= self.damage
        

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

Автор решения: Даниил Синякин
import random 


class game():
    def __init__(self):
        self.health = 100

    def punch(self):
        self.damage = random.randint(0, 20)
        self.health -= self.damage


a = game()
print(a.health)
a.punch()
print(a.health)
print(a.damage)

Вывод : 100 86 14

Если Ваш код выглядит примерно так, то получить damage можно так. Вы можете приравнять a.damage к переменной и использовать ее. Если Вы хотите использовать damage в классе, то она Вам доступна, self.damage имеет значение вот наглядно:

import random 


class game():
    def __init__(self):
        self.health = 100

    def punch(self):
        self.damage = random.randint(0, 20)
        self.health -= self.damage

    def printer(self):
        print(self.damage)


a = game()
a.punch()
a.printer()
print(a.health)

Вывод : 7 93

→ Ссылка