数据类型也就是变量类型,一般编程语言的变量类型可以分成下面两类。
静态类型与动态类型
静态类型语言:一种在编译期间就确定数据类型的语言。大多数静态类型语言是通过要求在使用任一变量之前声明其数据类型来保证这一点的。Java 和 C 是静态类型语言。
动态类型语言:一种在运行期间才去确定数据类型的语言,与静态类型相反。VBScript 和 Python 是动态类型的,因为它们确定一个变量的类型是在你第一次给它赋值的时候。
强类型与弱类型
强类型语言:一种总是强制类型定义的语言。Java 和 Python 是强制类型定义的。您有一个整数,如果不明确地进行转换 ,不能将把它当成一个字符串。
弱类型语言:一种类型可以被忽略的语言,与强类型相反。VBScript 是弱类型的。在 VBScript 中,您可以将字符串 '12' 和整数 3 进行连接得到字符串'123',然后可以把它看成整数 123 ,所有这些都不需要任何的显示转换。
所以,Python 既是动态类型语言 (因为它不使用显示数据类型声明),又是强类型语言(因为只要一个变量获得了一个数据类型,它实际上就一直是这个类型了)。
Python 是有变量类型的,而且会强制检查变量类型:
#整型
integer_number = 90
#浮点
float_number = 90.4
#复数
complex_number = 10 + 10j
#list 序列
sample_list = [1,2,3,'abc']
#dictionary 字典
sample_dic = {"key":value, 2:3}
#tuple 只读的序列
sample_tuple = (1,3,"ab")
#嵌套
sample_nest = [(1,2,3),{1:2,3:4,'key':[1,2]},3]
我们下面用一个实例来说明情况:
a=5
b='magic'
print 'a*2' #echo:10
print 'b*3' #echo:magicmagicmagic
print 'a+b' #error:unsupported operand type(s) for +: 'int' and 'str'
print 'b[0]' #echo:m
#return HttpResponse(b[0])你可以自己执行下,体会 Python 的变量类型。