【发布时间】:2020-11-11 14:12:17
【问题描述】:
我最近将一个实例方法从其类定义中移出,并将其作为一个全局函数(例如:deco_function),以便能够再次在不同的类中使用它。详细解释和bug复现见以下代码:
def deco_function(cls):
def inner_fct(self):
print('do something')
cls.deco_function = inner_fct
return cls
@deco_function
class Something:
def __init__(self):
print('init')
self.deco_function()
print('done')
if __name__ == '__main__':
a = Something()
代码运行良好,正在打印
init
do something
done
然而,VSCode 将self.deco_function() 红色下划线,并用 pylint 说明,Instance 'Something' 没有 'deco_function' 成员。
有没有办法阻止 pylint 标记它或让 VSCode 将 deco_function 识别为实例成员?
感谢您的建议。
【问题讨论】:
标签: python-3.x visual-studio-code pylint