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

标签 python python-3.x type-hinting

<分区>

我正在学习 Mastering 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中看到notebook, cell 10. 没见过这么定义main方法的,->None的作用是什么? 到目前为止我唯一的想法是这可能类似于 def main(argv=None)?

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

最佳答案

照原样,它什么都不做。它是 main 函数的一个类型注解,它简单地说明该函数返回 None。类型注释在 Python 3.5 中引入,并在 PEP 484 中指定。 .

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

这对执行绝对没有影响,只有当您将它与类型检查工具(如 mypy)一起使用时才会考虑它.

关于python - def main () -> None 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38286718/

相关文章:

python - 从 Powerpoint 中提取表格

python-3.x - 为什么索引名称总是出现在用pandas 创建的parquet 文件中?

python - Windows : subprocess. 调用 ffmpeg 触发 WinError 2

python - 用于限制对象中属性类型的函数(Python、mypy)

python - __init__.py 正确的导入布局?

python - 向索引数据框 pandas 添加一行

python - 需要 PEP 302 实现细节

python - Flask 引发 TypeError : The view function did not return a valid response

带有抽象基类的 Python 类型提示

Swift-如何接受多个(联合)类型作为参数