Я пытался сделать код, когда обнаружил эту ошибку. Сначала я определяю класс player
с name
a param1
и param2
. Когда я запускаю функцию game
, и я пытаюсь создать экземпляр класса player
внутри, я получаю ошибку UnboundLocalError
. Вот мой код:UnboundLocalError: локальная переменная 'player', указанная перед назначением
class player(object):
def __init__ (self, name, param1 = None, param2 = None):
self.param1 = param1
self.param2 = param2
self.name = name
def game(n = int(raw_input('How many players? '))):
playerList = []
for x in range(n):
playerList.append(player(raw_input('Player %i: ' %(x+1))))
for player in playerList:
player.param1 = int(raw_input('%s, how many do you predict? ' %(player.name.upper())))
Так в основном, моя проблема заключается в том, что питон не позволяет мне создать экземпляр класса внутри функции. Я много искал, но я не нашел того, что искал. Спасибо заранее!
По умолчанию переменные вычисляются во время разбора, поэтому не рекомендуется добавлять аргументы внутри функции 'raw_input', поскольку это происходит для вызова, даже если вы не выполняете эту функцию никогда. –