什么是def main() - >没有?

时间:2016-07-09 22:00:49

标签: python python-3.x type-hinting

我正在通过掌握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()

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

除此之外,Python中的->是什么?我在this Python运算符列表中找不到它。

1 个答案:

答案 0 :(得分:9)

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

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

这将对执行完全没有影响,只有在与mypy等类型检查工具一起使用时才会考虑它。