首页 > 解决方案 > 这个 PyCharm 警告对我来说没有意义

问题描述

请看下面的代码行:

self.supervisees = [] if supervisees is None else self.supervisees = supervisees

由于某种原因,局部变量监督者的第二个实例(直接在 if 之后)在突出显示时会发出警告:

“未使用局部变量 'supervisees' 值...此检查突出显示范围内使用的局部变量、参数或局部函数。”

有人可以解释为什么 PyCharm 会抛出这个警告吗?

有关该行如何适合该类的更多上下文:

class Manager(Employee):
  raise_amount = 1.04

  """
  Alternative constructor, built to create
  Employee objects from strings.
  """

  @classmethod
  def from_string(cls, employee_string):
    first_name, last_name, id, salary, supervisees = employee_string.split('-', 1)
    return cls(first_name, last_name, id, salary, supervisees)

  def __init__(self, id, first_name, last_name, salary, supervisees = None):
    super().__init__(id, first_name, last_name, salary)

    self.supervisees = [] if supervisees is None else self.supervisees = supervisees

  """
  Add an employee to the managers
  employee supervision list.
  """

  def add_supervisees(self, employee):
    if employee not in self.supervisees:
      self.supervisees.append(employee)
      employee.set_manager(self)

  """
  Remove an employee from the managers
  employee supervision list.
  """

  def remove_supervisees(self, employee):
    self.supervisees.remove(employee)


def print_supervisees(self):
  return ', '.join(emp.full_name for emp in self.supervisees)

标签: pythonpython-3.xpycharm

解决方案


推荐阅读