在函数中键入别名可以增强python的性能吗?

时间:2018-03-03 19:13:25

标签: python python-3.x type-hinting

def scale(scalar: float, vector: Vector) -> Vector:
    return [scalar * num for num in vector]

我想知道这个提示是否只是为了更好的可读性,或者它确实做了一些优化。

https://docs.python.org/3/library/typing.html#type-aliases

1 个答案:

答案 0 :(得分:0)

不,别名不会传达任何性能优化。

它使您更容易阅读代码。对于接受Vector并返回(另一个)Vector的函数,更容易推理,而不是在List[float]的签名中使用更通用的scale()类型。

使用别名的方式与在代码中使用常量的方式相同。例如,如果您的代码需要计算自由落体中的加速度,那么您将9.807存储为EARTH_GRAVITY常量,而不是仅在代码中使用9.807。使用EARTH_GRAVITY可让您的代码更易于阅读。