Python面向对象详解( 五 )


Python面向对象详解

文章插图
 
Python面向对象详解

文章插图
 
除了使用 变量: 类型,这种语法做注解外,也可以在注释中进行类型注解 。
语法:
# type: 类型
Python面向对象详解

文章插图
 
为变量设置注解,显示的变量定义,一般无需注解:
Python面向对象详解

文章插图
 
如图,就算不写注解,也明确的知晓变量的类型
Python面向对象详解

文章插图
 
类型注解的限制
类型注解主要功能在于:
 
  • 帮助第三方IDE工具(如PyCharm)对代码进行类型推断,协助做代码提示
  • 帮助开发者自身对变量进行类型注释(备注)
 
并不会真正的对类型做验证和判断 。
也就是,类型注解仅仅是提示性的,不是决定性的
Python面向对象详解

文章插图
 
如图代码,是不会报错的哦 。
8.2 函数(方法)的类型注解
函数(方法)的类型注解 - 形参注解
Python面向对象详解

文章插图
 
如图所示:
 
  • 在编写函数(方法),使用形参data的时候,工具没有任何提示
  • 在调用函数(方法),传入参数的时候,工具无法提示参数类型
 
这些都是因为,我们在定义函数(方法)的时候,没有给形参进行注解
函数和方法的形参类型注解语法:
Python面向对象详解

文章插图
 
函数(方法)的类型注解 - 返回值注解
同时,函数(方法)的返回值也是可以添加类型注解的 。
语法如下:
Python面向对象详解

文章插图
 
8.3 Union类型
Python面向对象详解

文章插图
 
使用Union[类型, ......, 类型]
可以定义联合类型注解
Union联合类型注解,在变量注解、函数(方法)形参和返回值注解中,均可使用 。
Python面向对象详解

文章插图
 
九、多态
多态,指的是:多种状态,即完成某个行为时,使用不同的对象会得到不同的状态 。如何理解?
Python面向对象详解

文章插图
 
同样的行为(函数),传入不同的对象,得到不同的状态 。
Python面向对象详解

文章插图
 
多态常作用在继承关系上.


推荐阅读