【python】(八)python类型注解


python类型提示:python3.5之后加入的功能。

添加类型提示不会影响代码运行效率。

官方说明:https://docs.python.org/zh-cn/3/library/typing.html

1. 类型提示用法

  1. 参数类型提示,在参数后面加上:数据类型
  2. 返回值类型提示,声明函数时,在函数名称后面加上->数据类型
#用法一:为参数和返回值指定类型
def greeting(name:str)->str:
    return "Hello " + name.split(',')[1]

print(greeting("python,java"))

2. 类型提示的好处

  1. 增强代码可读性
  2. ide中代码提示
  3. 静态代码检查

使用一些静态代码扫描的第三方库在代码运行前先检查代码中是否存在异常。(python是动态语言,只有代码运行后才能发现那里出现问题)

3. 类型别名

#用法二:为类型起别名
#Vector是一个类型的别名,然后可在参数的位置引用别名
Vector=list[float]
def scale(scalar:float,vector:Vector) ->Vector:
    return [scalar*num for num in vector]

1.指定类型但是调用的时候传入的其他类型会怎样?
IDE中会有一个提示警告,但是不会影响函数的调用。
2.IDE中设置类型警告
在这里插入图片描述

4. 自定义类型

#用法三:指定自定义类型
class Student:
    name:str
    age:int
    def get_money(self):
        print("")

def get_stu(name:str)->Student:
    return Student()

get_stu("Harry").name #因为get_stu()指定了返回类型是Student,所以IDE可以关联出可选属性
                      #如果get_stu()没有指定类型,则IDE无法关联出可选属性

IDE关联实例的可选属性:

在这里插入图片描述

注意:如果项目非常复杂,可能无法关联出相应的属性与函数。

5. 静态代码检查

5.1 安装mypy

使用mypy可以检查python中语法和类型等错误。

pip install mypy

5.2用法

在终端中使用mypy命令去运行程序文件。如果存在错误,会报错。

在这里插入图片描述

注意:mypy是依赖于类型提示的,只有加了类型提示mypy才能正常使用。


版权声明:本文为gjj920318原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。