python有泛型方法吗?

时间:2013-12-08 03:03:49

标签: python generics

python是否有像Java这样的通用方法?如果是这样,你可以参考解释它的网站。

2 个答案:

答案 0 :(得分:16)

没有。 Python不是静态类型语言,因此不需要它们。 Java泛型仅提供编译时类型安全性;他们在运行时没有做任何事情。 Python没有任何编译时类型安全性,因此添加泛型以加强Python没有的编译时类型检查是没有意义的。

例如,列表是一个无类型的集合。没有区分List<Integer>List<String>的区别,因为Python列表可以存储任何类型的对象。

答案 1 :(得分:3)

Python是一种动态类型语言,因此它不需要泛型。它可以做这样的事情

def addTen(inputData):
    if isinstance(inputData, int):
        return inputData + 10
    elif isinstance(inputData, str):
        return int(inputData) + 10
    else:
        return 10

您可以将任何类型的数据传递给任何函数,该函数可以选择以不同方式处理不同类型的数据。