摘自: Dive into Python
静态类型语言
一种在编译期间就确定数据类型的语言。大多数静态类型语言是通过要求在使用任一变量之前声明其数据类型来保证这一点的。Java 和 C 是静态类型语言。
动态类型语言
一种在运行期间才去确定数据类型的语言,与静态类型相反。VBScript 和 Python 是动态类型的,因为它们确定一个变量的类型是在您第一次给它赋值的时候。
强类型语言
一种总是强制类型定义的语言。Java 和 Python 是强制类型定义的。您有一个整数,如果不明确地进行转换 ,不能将把它当成一个字符串。
弱类型语言
一种类型可以被忽略的语言,与强类型相反。VBScript 是弱类型的。在 VBScript 中,您可以将字符串 '12'
和整数
3
进行连接得到字符串'123'
,然后可以把它看成整数 123
,所有这些都不需要任何的显示转换。
所以说 Python 既是动态类型语言 (因为它不使用显示数据类型声明),又是强类型语言 (因为只要一个变量获得了一个数据类型,它实际上就一直是这个类型了)。
在 Python中万物皆对象。字符串是对象,列表是对象,函数是对象,甚至模块也是对象!
在 Python 中一切都是对象,并且几乎一切都有属性和方法。所有的函数都有一个内置的 __doc__
属性,它会返回在函数源代码中定义的
doc string
;sys
模块是一个对象,它有一个叫作 path
的属性;等等。