Python函数如何处理您传入的参数类型?
问题内容:
除非我没有记错,否则在Python中创建函数的方式如下:
def my_func(param1, param2):
# stuff
但是,您实际上并未提供这些参数的类型。另外,如果我记得,Python是一种强类型语言,因此,似乎Python不应让您传递与函数创建者所期望的类型不同的参数。但是,Python如何知道函数的用户正在传递正确的类型?如果函数类型错误,假设函数实际上使用了参数,程序会死掉吗?您必须指定类型吗?
问题答案:
Python是强类型的,因为每个对象 都有 一个类型,每个对象都 知道 其类型,不可能无意或有意地使用“好像”它是 不同
类型的对象的对象,并且对该对象的所有基本操作都是委托给它的类型。
这与 名称 无关。Python中的 名称 没有“具有类型”:如果并且在定义名称时,该名称引用一个 对象 ,并且该 对象
确实具有一个类型(但是实际上并不会在 名称 上强制使用一种类型:a名称是名称)。
Python中的名称可以很好地在不同时间引用不同的对象(就像在大多数编程语言中一样,尽管不是全部)-并且名称不受任何限制,因此,如果曾经引用过X类型的对象,这样一来,就永远只能引用X类型的其他对象。
名称的 约束不属于“强类型”概念的一部分,尽管一些 静态 类型的爱好者(名称 确实 受到约束,并且在静态AKA中会编译-
时间,时尚也是如此)请勿以这种方式滥用该术语。