UnboundLocalError: получение исключения в объявлении атрибута класса - PullRequest
0 голосов
/ 12 мая 2019
class Human:
    population = 0
    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender
        population += 1

human = Human("Name", 12, "M")
print(Human.population)

Приведенный выше код выдает UnboundLocalError Исключение. Полный текст заявления: UnboundLocalError: local variable 'population' referenced before assignment

Как я могу решить эту проблему?

1 Ответ

2 голосов
/ 12 мая 2019

Человек - это атрибут класса, доступный через Human.population внутри класса

Он доступен вне класса через human.population или Human.population

class Human:
    population = 0
    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender
        #Access class attribute via ClassName inside class definition
        Human.population += 1

human = Human("Name", 12, "M")
#Access class attribute via ClassName outside class definition
print(Human.population)
#Access class attribute via Class instance outside class definition
print(human.population)

Вывод будет

1
1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...