zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python中变量名后面加冒号是什么意思?

Python 什么 意思 后面 冒号 变量名
2023-09-14 08:59:01 时间

见过一个大佬写的代码是这样的:

user: User = User.objects.filter(id=data.get('uid')).first()
变量名后面的冒号是:类型注解,3.6以后加入的,冒号右边是类型,仅仅是注释,有些鸡肋

变量注释的语法:注释变量类型,明确指出变量类型,方便帮助复杂案例中的类型推断。

var: type = value 其实本质上就是 var = value # type就是var期望的类型

类型注释只是一种提示,并非强制的,Python解释器不会去校验value的类型是否真的是type

例如:a: str = 10 这样是没有错的,python解释器在执行时会把a当作int来操作(type(a)——int)。 这不像是 C 语言中 int a(a必须是int类型)。

=======

函数注释Function Annotations
可做为函数额外的注释来用。函数注释是一个可选功能,它允许在函数参数和返回值中添加任意的元数据。无论是 Python 本身还是标准库,都使用了函数注释,第三方项目可以很方便的使用函数注释来进行文档编写、类型检查、或者是其他用途。

函数注释包括:
参数注释:以冒号(:)标记
返回值注释:以 -> 标记

def foo(a: expression, b: expression = 5) -> expression:
    ...

示例:

def func(a: 'haha', b: (1, 10), c: float) -> int:
  return a + b + c
print(func(1, 2, 3))
>>> 6

这些注释信息都是函数的元信息,存储在函数的__annotations__属性里。
需要注意,注解对Python解释器没任何意义,python对不做检查,不做强制,不做验证!什么都不做。