前面说过,任何语言都要开天辟地的定义它的数据类型,因为这个决定了该语言基于何种模型之上,也是对世界的基本认识。
现代高级语言在发展过程中相互借鉴,发展起源也比较相似,不同之处只是在形式上有些差别,因此对于数据类的划分相同之处很多。语言的数据类型一般分为字面常量和变量,字面常量即只能作为赋值号的左值,而变量既可以作为左值,也可以作为右值,但在使用前一般需要定义。
字面常量包括数:整数、浮点数、复数;还包括字符:“This is a literal string”,‘this is another line’。
Python里的字符表示方法比较多分为:单引号表示、双引号表示、三引号表示以及自然表示法。
单引号表示和双引号表示相同,只是在遇到字符串内有相同的符合时,比如用单引号表示法的字符串内,又要表示单引号的话,可以通过转义字符“\”,或者把外围的单引号改成双引号表示就不会发出冲突了。另一个方便的表示法是自然表示法通过在字符串前加r或者R,后面跟双引号或者单引号,那么引号内的字符就不必通过转义字符来表示,任何时候都只表示它自身。
数据类型中还有一类比较特殊就是bool类型,它只有两个值True和False,用来表示逻辑判断,bool类型的数据可以通过与(and)、或(or)、非(not)进行逻辑运行。
字面常量是不可变的,在内存中表示的符号,但是当我们需要一个占位符,能动态的改变内容时怎么办呢?需要个符号来表示内存中的一块位置,这个内存上可以存储不同类型的值。这个符号就叫“变量”。它指代的值是可以变的,被重新复制。它的值只能是字面常量中的一种。
而变量名,也就是标示符,其命名规则有一定限制。一般只能通过字母、数字和下划线表示,并且首字符只能是字母或下划线,有的系统对标示符的长度也有限制。
可见,不同的数据类型允许不同的操作。例如数值数据,可以进行加减乘除数值运算,而bool数据类型可以进行与或非的逻辑运算,字符串可以进行append,length,切片等操作。