Pycharm提示Instance attribute users_index defined outside __init__

问题描述:

Pycharm提示Instance attribute users_index defined outside __init__

示例代码:

class UserBehavior(TaskSet):

    def on_start(self):
      
        self.users_index = 0   #会出现下划线提示Instance attribute users_index defined outside __init__
        self.groups_index = 0  #会出现下划线提示Instance attribute groups_index defined outside __init__ 

原因分析:

实例属性attribute_name定义在__init之外__

这个提示背后的想法是:为了可读性。我们希望通过读取它的 __ init __ 方法来查找实例可能具有的所有属性。构造方法里做赋值以外的事情,会降低代码的可测试性。

分割初始化为其他方法。在这种情况下,您可以在 __ init __ 中简单地将属性分配给无子初始化方法。

 

解决方案1:

在 inint 中定义一个名字,赋值为None

修改代码如下:

class UserBehavior(TaskSet):

    def __init__(self):
        self.users_index = None
        self.groups_index = None

    def on_start(self):
        self.users_index = 0
        self.groups_index = 0

解决方案2:

 

在settings -> editor -> inspections -> python 取消勾选提示

原理分析,参见https://www.cnblogs.com/weibgg/p/10786956.html

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值