【发布时间】:2016-03-18 08:25:57
【问题描述】:
我想创建一个警告类,类似于异常。
基本上就是如下设置
import warnings
class customwarning(warnings):
pass
class warning1(customwarning):
def __init__(self, message):
self.message = message
def __str__(self):
return repr(self.message)
但是当我尝试运行警告时,我收到以下错误:
TypeError: module.__init__() takes at most 2 arguments (3 given)
在这一行:
class customwarning(warnings):
在网上搜索时,我只找到了
warnings.filterwarnings('ignore', '.*do not.*',)
warnings.warn(Warning message')
但与课程无关。 如何创建一个像这样工作的类?
【问题讨论】:
-
你正在尝试从模块继承,你想从内置的
Warning或UserWarning继承 -
不明白我认为应该怎么做...
-
class customwarning(Warning):...是从类继承的正确方法。我不明白你的评论,所以如果这不是你想要的,你能改写你的评论吗? -
@JRichardSnape
Warning在 2.7 和 3.5 中都是内置的,不需要更改 import 语句(实际上from warnings import Warning会引发 ImportError) -
当我使用
Warnings时,我的问题中出现了上述错误。当我使用Warning(内置)时,我收到错误type object 'customwarning' has no attribute 'warning1'。所以我没有得到结果喷气机。
标签: python python-3.x warnings