您当前的位置: 首页 >  Python

令狐掌门

暂无认证

  • 2浏览

    0关注

    513博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

python3 六种数据类型

令狐掌门 发布时间:2020-03-15 16:48:58 ,浏览量:2

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

(1)Number(数字)

(2)String(字符串)

(3)List(列表)

(4)Tuple(元组)

(5)Set(集合)

(6)Dictionary(字典)

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

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

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

 

 说明:python的变量不需要类型声明,C/C++/C#/java 在声明对象时需要有类型说明。

               例如,python定义一个整形数据   num = 2;

                          C++定义一个整形数据  int num = 2;

 

一、数字(Numbers):

       int(有符号整型), long(长整型[也可以代表八进制和十六进制]), float(浮点型), complex(复数), bool长整型也可以使用小写 l,但是还是建议您使用大写 L,避免与数字 1 混淆。Python使用 L 来显示长整型。

       Python 还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。

       注意:long 类型只存在于 Python2.X 版本中,在 2.2 以后的版本中,int 类型数据溢出后会自动转为long类型。在 Python3.X 版本中 long 类型被移除,使用 int 替代。

        例如: a, b, c, d = 20, 5.5, True, 4+3j

        在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加.

 

1.1  类型判断

         代码1:isinstance判断

a = 111

ret = isinstance(a, int)

print(ret)  #True

         代码2 :type判断

a, b, c, d = 20, 5.5, True, 4+3j

print(type(a), type(b), type(c), type(d))

isinstance 和 type 的区别在于:

         type()不会认为子类是一种父类类型。

         isinstance()会认为子类是一种父类类型。

 

1.2  删除对象引用

当你指定一个值时,Number 对象就会被创建:

var1 = 1

var2 = 10

您也可以使用del语句删除一些对象引用。

1.3  del语句的语法是:

del var1[,var2[,var3[....,varN]]]

您可以通过使用del语句删除单个或多个对象。例如:

del var

del var_a, var_b

 

1.4  数值运算

5 + 4  # 加法 9

4.3 - 2 # 减法 2.3

3 * 7  # 乘法

2 / 4  # 除法,得到一个浮点数 0.5

2 // 4 # 除法,得到一个整数0

17 % 3 # 取余 2

2 ** 5 # 乘方 32

注意:数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。在混合计算时,Python会把整型转换成为浮点数。

 

二、字符串(List):  

python的字串列表有2种取值顺序:

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

(2)从右到左索引默认-1开始的,最大范围是字符串开头

 

       如果你要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。

       [头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。

字符创截取方式一:

str = "asdfgh"

tmpstr = str[1:3]

print(tmpstr)  # 结果是sd

 

字符创截取方式二:

tmpstr1=str[2:]

print("tmpstr1 = " + tmpstr1)  # 结果是tmpstr1 = dfgh

print(str*2) # 输出字符串两次

 

        Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串:

 

  字符串要点说明:

(1)python中单引号和双引号使用完全相同。

(2)使用三引号('''或""")可以指定一个多行字符串。

(3)转义符 '\'

(4)反斜杠可以用来转义,使用r可以让反斜杠不发生转义。。 如 r"this is a line with \n" 则\n会显示,并不是换行。

(5)按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。

(6)字符串可以用 + 运算符连接在一起,用 * 运算符重复。

(7)Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。

(8)Python中的字符串不能改变。

(9)Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。

 

三 、列表 (List)

       List(列表) 是 Python 中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。

        列表用 [ ] 标识,是 python 最通用的复合数据类型。

        列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。

 

加号 + 是列表连接运算符,星号 * 是重复操作。如下实例:

list = ['runoob', 786, 2.23, 'john', 70.2]

tinylist = [123, 'john']

 

print(list)  # 输出完整列表

print(list[0])  # 输出列表的第一个元素

print(list[1:3])  # 输出第二个至第三个元素

print(list[2:])  # 输出从第三个开始至列表末尾的所有元素

print(tinylist * 2)  # 输出列表两次

print(list + tinylist)  # 打印组合的列表

 

四、元组(Tuple)

       元组是另一个数据类型,类似于 List(列表)。元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。元祖如下:

      tuple = ('runoob', 786, 2.23, 'john', 70.2)

      tinytuple = (123, 'john')

输出:

print(tuple)  # 输出完整元组

print(tuple[0])  # 输出元组的第一个元素

print(tuple[1:3])  # 输出第二个至第四个(不包含)的元素

print(tuple[2:])  # 输出从第三个开始至列表末尾的所有元素

print(tinytuple * 2)  # 输出元组两次

print(tuple + tinytuple)  # 打印组合的元组

 

以下是元组无效的,因为元组是不允许更新的。而列表是允许更新的:

tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )

list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]

tuple[2] = 1000    # 元组中是非法应用

list[2] = 1000     # 列表中是合法应用

 

五、字典(Dictionary)

       字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

        字典用"{ }"标识。字典由索引(key)和它对应的值value组成。类似于C++中的map(注意:C++ map有序)

 

示例代码

dict = {}

dict['one'] = "This is one"

dict[2] = "This is two"

 

tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}

 

print(dict['one'])  # 输出键为'one' 的值

print(dict[2])  # 输出键为 2 的值

print(tinydict)  # 输出完整的字典

print(tinydict.keys())  # 输出所有键

print(tinydict.values())  # 输出所有值

 

转义字符

   \n换行   print('Ru\noob')

    r 输出原始字符串  print(r'Ru\noob')

 

六、Set(集合)

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

 

创建格式:

parame = {value01,value02,...}

或者

set(value)

 

代码示例:

student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}

 

print(student)  # 输出集合,重复的元素被自动去掉

 

# 成员测试

if 'Rose' in student:

    print('Rose 在集合中')

else:

    print('Rose 不在集合中')

 

# set可以进行集合运算

a = set('abracadabra')

b = set('alacazam')

 

print(a)

print(a - b)  # a 和 b 的差集

print(a | b)  # a 和 b 的并集

print(a & b)  # a 和 b 的交集

print(a ^ b)  # a 和 b 中不同时存在的元素

 

Python数据类型转换

       有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。 (注意中括号里的逗号)

函数

描述

int(x [,base])

将x转换为一个整数

long(x [,base] )

将x转换为一个长整数

float(x)

将x转换到一个浮点数

complex(real [,imag])

创建一个复数

str(x)

将对象 x 转换为字符串

repr(x)

将对象 x 转换为表达式字符串

eval(str)

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

set(s)

转换为可变集合

dict(d)

创建一个字典。d 必须是一个序列 (key,value)元组。

frozenset(s)

转换为不可变集合

chr(x)

将一个整数转换为一个字符

unichr(x)

将一个整数转换为Unicode字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串

 

 

关注
打赏
1652240117
查看更多评论
立即登录/注册

微信扫码登录

0.0533s