Во-первых, вам нужно создать экземпляр класса.Это фактически означает, что нужно пойти и построить объект (Player) на основе плана, который вы определили в классе.Это можно сделать, просто объявив новую переменную steve = Player("steve")
. Метод __init__
- это специальный метод, который автоматически вызывается при создании нового объекта.Здесь ваш класс принимает только один аргумент, name
.Все остальные переменные, такие как hit
, присваиваются автоматически 0.
Если вы хотите изменить значение hit
, вы должны создать функцию (также известную как метод . ТогдаВы вызываете этот метод довольно просто с помощью steve.increment_hit()
.
class Player():
"""Class to represent a player."""
def __init__(self, name):
self.name = name
self.hit = 0
self.bats = 0
self.freePass = 0
self.out = 0
self.defenseError = 0
def increment_hit(self):
"""Increase hit count by one when called."""
self.hit += 1
# instantiate your class
steve = Player("steve")
print("Hits for '{}' after instantiate your class: {}\n".format(steve.name, steve.hit))
# call the increase_hit method 3 times
for i in range(3):
steve.increment_hit()
print("Hits for player {}: {}".format(steve.name, steve.hit))
Старайтесь всегда изменять значение переменных, вызывая метод, а не обращаясь непосредственно к самой переменной.
Лучше использовать steve.increment_hit()
, чем, например, прямой доступ к переменным класса с помощью steve.hit += 1
.
После выполнения приведенного выше кода вы получите такой вывод:
Hits for 'steve' after instantiate your class: 0
Hits for player steve: 1
Hits for player steve: 2
Hits for player steve: 3