我在發現此錯誤時試圖做一些代碼。我首先用name
a param1
和param2
來定義player
類。 當我運行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())))
所以基本上,我的問題是Python沒有讓我在函數內部創建一個類的實例。我搜查了很多,但我還沒有找到我正在尋找的東西。 在此先感謝!
默認變量是在解析過程中計算的,因此在函數參數中添加'raw_input'並不是一個好主意,因爲它正在進行即使您不曾運行此功能也會被調用。 –