目录
结论先行(:形参数据类型,->返回数据类型)
有一天在看代码时候看到一种写法如下:
def client(factory: AbstractFactory) -> None:
product_mobile = factory.create_mobile()
product_others = factory.create_others()
直接说结论:
: AbstractFactory标注的是形参数据类型
-> None 提示的是返回值数据类型
这个冒号:和->的用法其实是:type hints类型提示
Type Hints(类型提示)
众所周知,Python 是动态类型语言,运行时不需要指定变量类型,这点是不会变的。
而在2014年9月,Guido van Rossum (Python BDFL) 创建了一个Python增强提议(PEP-484),为Python添加类型提示(Type Hints)。于是,有了一种标准方法向代码中添加类型信息。
为什么需要类型提示呢?
- 易于理解代码。调用函数时告诉你需要传递哪些参数类型;以及需要扩展/修改函数时,也会告诉你输入和输出所需要的数据类型
- 易于重构。类型提示可以使IDE具有
100%
的检测准确率,并定位到类的位置。 - 易于使用库。如果用户尝试调用不存在的内容或传递不正确类型的参数,IDE可以立即警告它
- 验证运行数据。类型提示可用于在运行时进行验证,以确保调用者不会破坏方法的约定