除非我弄错了,否则在 Python 中创建函数的工作方式如下:
def my_func(param1, param2):
# stuff
但是,您实际上并未提供这些参数的类型。另外,如果我记得,Python 是一种强类型语言,因此,Python 似乎不应该让您传入与函数创建者预期的类型不同的参数。但是,Python 如何知道函数的用户正在传入正确的类型?假设函数实际上使用了参数,如果它的类型错误,程序会死吗?你必须指定类型吗?
最佳答案
Python 是强类型的,因为每个对象都有一个类型,每个对象都知道它的类型,不可能意外或故意使用一个类型的对象“好像”它是一个不同类型的对象,并且对象上的所有基本操作都是委托(delegate)给它的类型。
这与无关姓名 . Python 中的名称没有“类型”:如果定义了名称,则名称指代一个对象,并且该对象确实具有类型(但这实际上并不强制名称具有类型:a名字是一个名字)。
Python 中的名称可以完美地在不同时间引用不同的对象(就像在大多数编程语言中一样,尽管不是全部)——并且对名称没有限制,如果它曾经引用过 X 类型的对象,然后它永远被限制为仅引用其他类型的 X 对象。 上的约束姓名 不是“强类型”概念的一部分,尽管 的一些爱好者静态 打字(名称确实受到限制,并且在静态中,AKA 编译时,时尚也是如此)确实会以这种方式误用该术语。
关于python - Python 函数如何处理您传入的参数类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2489669/