这是一个例子: 在Python中,您可以键入:x = 1或x ='hello'而不声明x的类型,但是,在Java中,您不能这样做,您必须首先声明x的类型。
所以我的问题是为什么Python允许这种行为,与Java相比,Python如何进行类型检查? (在我的想法中,在python中,x只是一个标签,它可以指向任何东西。当x进行赋值操作时,任何人都可以给我一些关于机制的提示)
答案 0 :(得分:1)
答案 1 :(得分:1)
Python没有像Java那样的静态类型检查。相反,Python使用动态类型以及duck-typing和it's easier to ask for forgiveness than permission的常用方法。但是,您可以使用isinstance()
手动检查对象的类型(有些人认为它较差但我不同意):
>>> x = 1
>>> x.__class__
<type 'int'>
>>> isinstance(x, int)
True
>>> isinstance(x, str)
False
>>> x = 'hello'
>>> x.__class__
<type 'str'>
>>> isinstance(x, int)
False
>>> isinstance(x, str)
True
另见: