数值类型和序列类型
数值类型:
在python中,能够直接处理的数据类型有以下几种:
1、整型:Python可以处理任意大小的的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。
计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0xffoo,0xa5b4c3d2,等等。
在Python中可对整数执行四则运算。
在终端会话中,Python直接返回运算结果。Python使用两个乘号表示乘方运算:
Python还支持运算次序,因此可在同一个表达式中使用多种运算。还可以使用括号来修改运算次序,让Python按你指定的次序执行运算,如下所示:
2、浮点型:
Python将带小数点的数字都称为浮点数。大多数编程语言都使用了这个术语,它指出了这样一个事实:小数点可出现在数字的任何位置。
每种编程语言都须细心设计,以妥善地处理浮点数,确保不管小数点出现在什么位置,数字的行为都是正常的。
但是需要注意的是,结果包含的小数位数可能是不确定的:
若小数在Python中精确的计算可以使用decimal这个模块。
3、布尔型
一个布尔值只有True 、False 二种值,要么是True,要么是False,在Python中,可以直接用True,False表示布尔值(请注意大小写)
也可以用过布尔运算计算出来:
4、复数:
5、math模块
向上取整,调用math模块。(ceiling:天花板)
向下取整,调用math模块。(floor:地板)
若两个数,除数和被除数都是整数那么返回的就是一个整数,若有一个是浮点数的话那么返回的就是浮点数。
序列类型:
1、字符串的定义:
python接收单引号(')、双引号(")、三引号(' ' ' / " " ")来表示字符串,引号的开始与结束类型必须一致,也就是说前面是单引号,后面也必须是单引号。其中三引号可以由多行组成,这也是编写多行文本的常用语法,经常用于处理文档字符串,但在文件的特 定地点,会被当做注释来处理。
2、列表的定义:
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
用索引来访问list中每一个位置的元素,记得索引是从0开始的:
当索引超出了范围时,Python会报IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是-1。如果要取最后一个元素,除了计算索引位置外,还可以用-1索引,直接获取最后一个元素。
list是一个可变的有序表,所以,可以往list中追加元素到末尾:
也可以把元素插入到指定的位置,比如索引号为1的位置。
要删除list末尾的元素,用pop()方法:
要删除指定位置的元素,用pop(i)方法,其中i是索引位置
要把某个元素替换成别得元素,可以直接赋值给对应的索引位置。
3、元组的定义:
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple,一旦初始化就不能修改。
因为tuple不可变,所以代码更安全。所以能用tuple代替list就尽量使用tuple
tuple不能使用append()、insert()、pop()函数,不过其他获取元素的函数和list是一样的。
元组的在定义的时候,用的是()用于区别list的[ ]
在定义一个只有1个元素的tuple,如果这么定义:
定义的不是tuple,是1这个数,因为()括号既可以表示tuple,又可以表示数学公式中的小括号,这就会产生歧义,因为在Python中,只有一个元素的tuple,定义时,必须加一个逗号,来消除歧义
3、切片:
除了可以使用索引访问单个元素,还可以使用切片操作来访问一定范围内的元素。切片操作需要两个索引来作为边界,第一个索引的元素是包含在切片内的,而第二个则不包含。(左闭右开)
在进行分片的时候开始和结束点需要进行指定(显示或隐式)。而另一个参数--步长(step length)通常都是隐式设置的,默认值为1.
如果步长为1:切片操作就是按照这个步长逐个遍历序列的元素,然后返回开始和结束点之间的所有元素。
步长不能为0,但是可以为负数--即从右向左提取元素。使用一个负数作为步长时,必须让开始点(开始索引)大于结束点
序列相加:使用加号可以对两个类型相同的序列进行连接操作:
类型转换:使用内置函数list()、tuple()和str()函数可以实现对象转换
一、不可变对象
由于Python中的变量存放的对象引用,所以对于不可变对象而言,尽管对象本身不可变,但变量的对象引用是可变的。
二、可变对象
其对象的内容是可以变化的。当对象的内容发生变化时,变量的对象引用是不会变化的。