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

发布网友

我来回答

2个回答

热心网友

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

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

就像上一个人回答的那样:类型注释只是一种提示,并非强制的,Python解释器不会去校验value的类型是否真的是type

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

还有一些使用时的注意事项:

1、省略初始值会使变量未初始化:a: str, print(a)  —— 抛出 NameError 异常

2、注释局部变量将导致解释器始终使其成为局部变量:

同一函数范围内注释受全局或非本地变量是不允许的。

def fun():
   global a
   a: str = 'python'
   print(a)
fun()
# 将抛出错误信息:SyntaxError: annotated name 'a' can't be global
# 即是 注释变量 a 不能是全局的。

3、类型注释还可用于在类主体和方法中注释类和实例变量。

4、注释的目标可以是任何有效的单个赋值目标:d = {}, d['a']: str = ''python"——输出d为字典 {'a': 'python'} ;      d = [],  d[0]: int = 10——输出为列表[10]

注意:带括号的名称也被视为表达式,而不是简单名称。比如:(a): int = 0

更详细的信息可以参考:网页链接

热心网友

这是Python 3.5中引入的Type Annotation,是一种注解,用来提示变量的类型。
用法是var: type = value
var为要定义的变量,type为该变量期待的类型,value为赋给该变量的值。
本质上和var = value是一回事,只是加上了var的类型说明。
类型注解是一种提示,并非强制的,Python解释器不会去校验value的类型是否真的是type。
类型注解通常用在函数参数中,向函数的调用者提示参数类型:
def func(arg: int)
那么调用者调用函数func时就知道参数arg应该是一个int类型。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com