Python - 局部变量错误,其中变量是导入的类

时间:2018-01-21 18:09:42

标签: python python-3.x

所以我需要导入game_state.py,以便在其他类中使用名为State的类。 但是,当我尝试使用State初始化类属性时,它表示在赋值之前引用的局部变量

from game_state import State
class Game:
   current_state: State
   name: str

   def __init__(self, is_p1_turn: bool) -> None:

     self.is_p1_turn = is_p1_turn
     self.current_state = State('Player 1', None, self) if self.is_p1_turn \
        else self.current_state = State('Player 2', None, self)
     self.name = self.__name__

第一个State('player1' None, self)显示错误消息:

local variable 'State' value not used

第二个State('Plyaer2' None, self)显示另一个消息:

local variable might referenced &  unresolved reference 'State'

我知道那里有些不对劲但是无法弄清楚

1 个答案:

答案 0 :(得分:0)

您的作业语法不正确。简写一行if/else看起来像

some_value = 1 if is_true else 0

其中is_true是可以评估为bool的内容,您正在做

some_value = 1 if is_true else self.some_value = 0

即。您将一行if/else语法与常规if/else语法混合使用。