def main() - > None有什么用?

Ian*_*nhi 7 python type-hinting python-3.x

我正在通过掌握Matplotlib工作,在第二章中他们介绍了以下代码片段:

#! /usr/bin/env python3.4
import matplotlib.pyplot as plt

def main () -> None:
    plt.plot([1,2,3,4])
    plt.ylabel('some numbers')
    plt.savefig('simple-line.png')

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

这可以在这个笔记本中看到,单元格10.我从未见过这种方式定义的主要方法,功能是-> None什么?到目前为止我唯一的想法是,这可能类似于def main(argv=None)

除此之外,->Python中有什么?我在这个 Python运算符列表中找不到它.

Jim*_*ard 15

原样,它绝对没有.它是main函数的类型注释,它简单地声明此函数返回None.类型注释已引入Python 3.5并在其中指定PEP 484.

函数返回值的注释使用符号->后跟一个类型.它是完全可选的,如果你删除它,什么都不会改变.

对执行没有任何影响,只有在你使用类型检查工具时才会考虑它mypy.