Python六大数据类型

BEGIN:

python3数据类型主要分为以下六大类

  • Numbers(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)
  • Set(集合)

Python3 的六个标准数据类型中:

  不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);

  可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

 

1、数字类型:

python3的数字类型包括:

  • int(长整型
  • float(浮点型)
  • complex(复数)
  • bool(布尔型)

注意:在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。

数字数据类型用于存储数值,他们是不可改变的数据类型,若改变数字数据类型会分配一个新的对象;当指定一个值时,Number 对象就会被创建,如:

a = 1
b = 2

创建了两个实例对象,值分别为1和2,当改变a的值为3时,会为变量a重新分配对象。使用del语句可以删除一些对象的引用,如:

               

 

 2、字符串类型:

 python的字符串或串(String)是由数字、字母、下划线组成的一串字符,如:

     

字符串取值:python字符串(列表)有2种取值顺序,如(下图左):

  • 从左到右索引默认0开始的,最大范围是字符串长度少1
  • 从右到左索引默认-1开始的,最大范围是字符串开头

python字符串不能通过取下标的方式修改指定位置的字符,如(下图右)::

  0  1  2  3  4  5  6        

  a  b  c  d  e  f  g             

 -7    -6   -5      -4      -3      -2      -1           

               

 字符串截取:s = a[i:j],其中i,j可以不写,表示从位置i开始到位置j结束,其中截取的字符串不包括位置j,如:

    

 字符串连接用‘+’号,如:

字符串重复用'*‘号,如:

 

  3、列表类型:

python的列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套或者叫多维列表,可以用来表示多维数组)。列表用 [ ] 标识,是 python 最通用的复合数据类型,如:

      

 列表取值(同字符串取值),如(下左),修改指定位置的元素值,如(下右):

                            

列表截取(同字符串取值),如(下图左);此外,列表的截取还可以添加第三个参数步长,即[i:j:k]截取从位置i到位置j(包括i不包括j)步长为k,如(下图中);该方法可以用来对列表进行逆序变换,如(下图右):

                

     'a'  'b'  'c'  'd'  'e'

     0    1   2   3    4

c[1:4:2]          *|___________*______|

c[0:5:3]    *|__________________*______|

c[0:5:1]    *|______*_____*_____*______|* 

 列表连接(同字符串连接)用’+‘,如:

 列表重复(同字符串重复)用’*‘, 如:

多维数组初始化方案:

[...[[[0 for i in range(x)] for  j in range(y)] for k in range(z)]...]

如,二维数组初始化:

 

  4、元组类型:

python的元组类似于list列表,元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表,如:

                       

 元组的取值、截取、连接、重复与列表一样,如:

        

虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。

构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则,对于空元组直接用小括号或者tuple()表示,如下图左;对于1个元素的元组,则需要在元素后面添加逗号,如图右:

                          

 

  5、字典类型:

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型;列表是有序的对象集合,字典是无序的对象集合;字典用"{ }"标识;字典由索引(key)和它对应的值value组成,如:

 字典取值,字典当中的元素是通过键来存取的,而不是通过偏移存取,如:

 

 键(key)必须使用不可变类型(数字、字符串、元组);在同一个字典中,键(key)必须是唯一的,如:

 

  6、集合类型:

 python的集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员;基本功能是进行成员关系测试和删除重复元素;可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典,如:

 set()函数只接受一个参数,且改参数类型不为数字类型,

                 

错误创建,如: 

     

 

列表、元组、字典、集合的比较

列表[ ](list):有序可改变集合,允许重复数据。
元组( )(tuple):有序不可改变集合,允许重复数据。
集合{ }(set):无序无索引(索引为键值)集合,无重复数据。
字典{ }(dictionary):无序,可变,有索引集合,无重复数据。

 

python数据类型转换:

int(x) :将x转化为一个整数,向下取整,如:

float(x):将x转化为一个浮点数

complex(x [,imge]):将x转化为一个复数,如:

str(x):将x转化为一个字符串,如:

repr(x):将对象 x 转换为表达式字符串,如:

eval(x):用来计算在字符串中的有效Python表达式,并返回一个对象,其实就是能计算字符串表达式,并得到结果,如:

 tuple(s):将序列s转化为一个元组,如:

 list(s):将序列s转化为一个列表,如:

 set(s):将序列s转化为可变集合,可用于列表去重,如 :

      

 dict():创建一个字典。

 frozenset(s):将s转换为不可变集合

chr(x):将一个整数转化为其ASCIIi码对应的字符,如:

 ord(x):将一个字符转化为一个整数,该整数为x对应的ASCII码,如:

 hex(x):将一个整数转换为一个十六进制字符串,如:

 oct(x):将一个整数转换为一个八进制字符串

 

END.

posted @ 2020-11-12 11:06  Gangpei  阅读(17552)  评论(0编辑  收藏  举报