【发布时间】:2020-12-26 11:24:06
【问题描述】:
我想知道,你什么时候使用var: int,什么时候使用int(var)。
例如:
def func(var: int, var2):
print(var - int(var2))
【问题讨论】:
-
var: int是类型提示 docs.python.org/3/library/typing.html ,int是用于转换值的内置函数。
我想知道,你什么时候使用var: int,什么时候使用int(var)。
例如:
def func(var: int, var2):
print(var - int(var2))
【问题讨论】:
var: int 是类型提示 docs.python.org/3/library/typing.html ,int 是用于转换值的内置函数。
var: int 声明了预期的变量类型并传递给所需的函数或类,而 int(var) 将把 var 变量转换为 int 类的实例:
>> a = '3' # a is String
>> a = int(a)
>> a
out: 3 # a is Ineteger now
【讨论】:
var: int 基本上什么都不做,除非你明确地在你的代码上运行类型检查器(例如 mypy)。没有说类型检查器,它只是一些元数据。
int(var) 然而是一个实际和显式的运行时转换。如果var 已经是一个int,它将什么也不做,否则会尝试以某种方式将var 转换为整数(例如解析字符串或调用对象的__index__),如果不能,则发出错误信号。
【讨论】: