Python 中的警告(警告.Python...)
请我喝杯咖啡☕
警告是警报消息,它基本上不会引发异常,也不会终止程序。
警告类别如下所示:
warn() 可以手动发出警告,如下所示:
*备忘录:
- 第一个参数是 message(required-type:str)。
- 第二个参数是类别(可选-默认:无-类型:警告)。 *如果为none,则设置userwarning。
- 第三个参数是 stacklevel(可选-默认:1-类型:int)。 *它决定警告所指的代码。
- 第四个参数是源(optional-default:none-type:any)。
- 有skip_file_prefixes参数(可选-默认:无-类型:str的元组):
*备注:
- skip_file_prefixes=必须使用。
- 手动设置 none 会出错。
import warnings warnings.warn(message="This is a warning.") # UserWarning: This is a warning. # warnings.warn(message="This is a warning.") warnings.warn(message="This is a warning.", category=None, stacklevel=1, source=None, skip_file_prefixes=()) # UserWarning: This is a warning. # warnings.warn(message="This is a warning.", warnings.warn(message="This is a warning.", category=Warning) # Warning: This is a warning. # warnings.warn(message="This is a warning.", warnings.warn(message="This is a warning.", category=DeprecationWarning) # DeprecationWarning: This is a warning. # warnings.warn(message="This is a warning.", def test1(): warnings.warn(message="Warning 1", stacklevel=-100) warnings.warn(message="Warning 2", stacklevel=0) warnings.warn(message="Warning 3", stacklevel=1) warnings.warn(message="Warning 4", stacklevel=2) warnings.warn(message="Warning 5", stacklevel=3) warnings.warn(message="Warning 6", stacklevel=4) warnings.warn(message="Warning 7", stacklevel=5) warnings.warn(message="Warning 8", stacklevel=100) def test2(): test1() def test3(): test2() test3() # UserWarning: Warning 1 # warnings.warn(message="Warning 1", # UserWarning: Warning 2 # warnings.warn(message="Warning 2", # UserWarning: Warning 3 # warnings.warn(message="Warning 3", # UserWarning: Warning 4 # test1() # UserWarning: Warning 5 # test2() # UserWarning: Warning 6 # test3() # UserWarning: Warning 7 # exec(code_obj, self.user_global_ns, self.user_ns) # UserWarning: Warning 8
以上就是Python 中的警告的详细内容,更多请关注知识资源分享宝库其它相关文章!