python - 这个 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)
解决方案
推荐阅读
- java - 如何在 CSVFormat 中避免逗号前的反斜杠
- kubernetes - 在 kind 集群中编辑 extraPortMappings
- git - 如何从某个点之前删除提交?
- javascript - 导航菜单图标关闭位置 - Vue/Vuetify
- java - 如何从命令行收集正在运行的 java 应用程序的 JVM 指标?
- mongodb - 如何在MongoDB中计算年龄占总数的百分比
- javascript - 为什么组件在通过 $.ajax 获取成功数据时不重新呈现?
- scala - 将 lambda 定义作为 spark rdd 中元组的一部分会导致大小大幅增加
- c# - 将 AES 密钥存储和检索到文件
- sql-server - 索引可以优化 UPDATE 语句吗?