pycharm警告我,它无法读取一个抽象的问题

时间:2016-07-27 10:29:53

标签: python-2.7 pycharm

我有以下Python 2脚本,它按预期运行,但在PyCharm IDE中提供了两个警告。我可以忽略它们吗?

#!/usr/bin/env python2
# coding=UTF-8
import random,logging
from abc import ABCMeta,abstractproperty

class Upper(object):
    __metaclass__ = ABCMeta

    def __init__(self):
        self._prop = "abc"

    @abstractproperty
    def prop(self):
        pass

    @prop.setter
    def prop(self, prop):
        pass

    def peng(self):
        print self.prop # <-- Warning 1
        self.prop = "xyz"

class Lower(Upper):
    @property
    def prop(self):
        return self._prop

    @prop.setter 
    def prop(self, prop): # <-- Warning 2
        self._prop = prop


if __name__ == '__main__':
    upperObj = Lower()
    print upperObj.prop
    upperObj.prop = "def"
    print upperObj.prop
    upperObj.peng()
    print upperObj.prop

输出符合预期:

abc
def
def
xyz

Pycharm给了我两个警告:

  1. “物业道具无法阅读”
  2. “方法的签名Lower.prop()与上层”
  3. 中的基本方法的签名不匹配

    我认为这两个警告都是误报,因为在第一种情况下,属性是定义和实现的(虽然在不同的类中),在第二种情况下,我看不到方法签名是如何分歧的。这些警告是误报,可能会被忽略吗?

1 个答案:

答案 0 :(得分:0)

似乎PyCharm根本不知道@abstractproperty注释。所以这个警告可以忽略不计。