首页 > 解决方案 > 对不同类型使用相同的功能

问题描述

我有以下功能:

def calculate_digits(number: Union[int, float, str]) -> int:
    absolute_value: float = abs(number)
    rounded_value: int = math.floor(absolute_value)
    total_digits_needed: int = calculate_length_integer(rounded_value)
    return total_digits_needed

如您所见,我想将其用于不同的 python 类型:int、float、str ... 由于 abs() 仅适用于浮点数我想知道,我该如何最好地处理这个?我是否需要使用 if、elsif 语句编写一个函数来执行此操作,还是有更好的方法来执行此操作?

标签: pythontypes

解决方案


对我来说 abs() 也适用于 int ......我使用的是 python 3.9。

例如,下面的代码至少对我有用:

number = abs(3)

检查是否需要更新


推荐阅读