PHP前端开发

Python 中的警告

百变鹏仔 4天前 #Python
文章标签 Python

请我喝杯咖啡☕

警告是警报消息,它基本上不会引发异常,也不会终止程序。

警告类别如下所示:

classdisposition
warningthis is the base class of all warning category classes. it is a subclass of exception.
userwarningthe default category for warn().
deprecationwarningbase category for warnings about deprecated features when those warnings are intended for other python developers (ignored by default, unless triggered by code in __main__).
syntaxwarningbase category for warnings about dubious syntactic features.
runtimewarningbase category for warnings about dubious runtime features.
futurewarningbase category for warnings about deprecated features when those warnings are intended for end users of applications that are written in python.
pendingdeprecationwarningbase category for warnings about features that will be deprecated in the future (ignored by default).
importwarningbase category for warnings triggered during the process of importing a module (ignored by default).
unicodewarningbase category for warnings related to unicode.
unicodewarningbase category for warnings related to unicode.
byteswarningbase category for warnings related to bytes and bytearray.
resourcewarningbase category for warnings related to resource usage (ignored by default).

warn() 可以手动发出警告,如下所示:

立即学习“Python免费学习笔记(深入)”;

*备忘录:

import warningswarnings.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