加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 告诉PyCharm代码生成的类字段

发布时间:2020-12-16 23:32:17 所属栏目:Python 来源:网络整理
导读:作为一个最小的例子,我有一个类示例,其作用类似于一系列其他类的抽象容量. class Example(object): def __init__(self,**kwargs): for key,value in kwargs.items(): setattr(self,key,value) class Test(Example): def __init__(self,foo='bar'): super(Tes
作为一个最小的例子,我有一个类示例,其作用类似于一系列其他类的抽象容量.
class Example(object):
    def __init__(self,**kwargs):
        for key,value in kwargs.items():
            setattr(self,key,value)            

class Test(Example):
    def __init__(self,foo='bar'):
        super(Test,self).__init__(foo=foo)

在实际案例中,Example做了更多的事情.

有没有办法在测试时通知PyCharm Test会有一个字段Test.foo甚至更好,让它知道foo应该是一个字符串?

需要明确的是,考虑将示例中的字段设置委托给Test不可能.

我最接近的是Epydoc的@ivar,但是我无法让它发挥作用

解决方法

正如其他人所说,你不能.但是,您可以告诉PyCharm使用@DynamicAttrs接受缺少的属性:
class Example(object):
   """
   @DynamicAttrs
   """
   def __init__(self,**kwargs):
      for key,value in kwargs.items():
         setattr(self,value)

更新:
如果Python3.5是一个选项,请参阅this question关于使用动态属性的类型提示.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读