小编典典

Python 函数如何处理你传入的参数类型?

all

除非我弄错了,否则在 Python 中创建函数的工作方式如下:

def my_func(param1, param2):
    # stuff

但是,您实际上并没有给出这些参数的类型。另外,如果我记得,Python 是一种强类型语言,因此,Python
似乎不应该让您传入与函数创建者预期不同类型的参数。然而,Python
是如何知道函数的用户传递了正确的类型呢?假设函数实际使用参数,如果类型错误,程序会死吗?必须指定类型吗?


阅读 115

收藏
2022-03-23

共1个答案

小编典典

Python 是强类型的,因为每个对象 都有 一个类型,每个对象都 知道 它的类型,不可能意外或故意使用一个类型的对象,“好像”它是一个 不同
类型的对象,并且对对象的所有基本操作都是委托给它的类型。

这与名称 无关。Python 中的 名称 没有“类型”:如果定义了名称,则该名称指的是一个 对象 ,并且该 对象
确实具有类型(但这实际上并不强制 名称 上的类型:a name 是一个名字)。

Python 中的名称可以很好地在不同时间引用不同的对象(就像在大多数编程语言中一样,但不是全部)——并且名称没有任何限制,因此,如果它曾经引用过 X
类型的对象,然后它永远被限制为仅引用 X 类型的其他对象。 名称 的约束不是“强类型”概念的一部分,尽管一些 静态 类型的爱好者(名称
确实 受到约束,并且在静态的 AKA 编译中 - time,fashion,也是)这样误用了这个词。

2022-03-23