擅长:python、mysql、java
<p>Python是动态类型的:所有变量都可以引用任何类型的对象。<code>id</code>和<code>name</code>可以是任何东西,但实际对象的类型是<code>int</code>和{<cd4>}。<code>0</code>是一个被解析为生成<code>int</code>对象的文本,而{<cd7>}是一个生成{<cd4>}对象的文本。许多对象类型没有文本,而是由可调用的(如<code>frozenset</code>-无法生成文本冻结集,必须调用<code>frozenset</code>)</p>
<p>因此,不存在变量声明,因为您没有定义任何关于变量的内容。<code>id = 0</code>和{<cd12>}只是赋值。在</p>
<p><code>increase</code>返回一个<code>int</code>,因为这就是您在其中返回的内容;Python中没有任何内容强制它不是任何其他对象。<code>first</code>和{<cd16>}只有当你这样做的时候才是int。在</p>
<p>在某种程度上,对象共享一个公共接口。您可以对它们使用相同的运算符和函数,如果它们支持特定的操作,它就可以工作。这是一种常见的,推荐的技术,使用不同的类型,表现类似的互换;这称为<em>duck typing</em>。例如,如果某个对象采用<code>file</code>对象,则可以传递<code>cStringIO.StringIO</code>对象,该对象支持与文件相同的方法(如<code>read</code>和{<cd20>}),但它是完全不同的类型。这有点像Java接口,但不需要任何正式的用法,您只需定义适当的方法。在</p>