分享

数据类型--Python

 靓拖鞋 2021-12-15

在Python中,每个变量都有自己的数据类型,在声明变量时会用到数据类型。

一、数据类型

在Python中,有6种主要的内置数据类型:数字、字符串、列表、元组、集合和字典。其中列表、元组、集合和字典可以容纳多项数据,统称为容器类型的数据。

1-1、数字类型

数字类型又分为整数类型、浮点类型、复数类型和布尔类型。

1-1-1、整数类型

在Python中,整数类型为int类,整数类型的范围很大,只受所在计算机硬件的限制。

例如:

score=int(input("请输入一个0-100的整数:"))

if score>=60:

if score>=85:

print("您真优秀!")

else:

print("您的成绩还可以,仍需继续努力!")

else:

print("您需加倍努力!")

1-1-2、浮点类型

浮点类型主要用来存储小数数值。在Python中,浮点类型为float类。Python只支持双精度浮点类型,而且是本机相关的。

1-1-3、复数类型

在数学中,整数和小数(浮点数)被称为实数,而实数对应的复数a+bi,在Python中被称为复数类型。在Python中,复数类型为complex类。

1-1-4、布尔类型

在Python中,布尔类型为bool类。bool是int的子类,它只有两个值:True和False。

注:在Python中,数据类型转换为bool时,整数0、空字符串、空列表和空字典转换为False,其他非零整数,非空字符串、非空列表和非空字典被转换为True。

1-2、字符串类型

字符串是 Python 中最常用的数据类型。可使用单引号('')或双引号("")来创建字符串,它是由数字、字母、下划线组成的一串字符。

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

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

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

创建字符串很简单,只要为变量分配一个值即可。例如:

var1 = 'Hello World!'

var2 = "Python Runoob

print"var1[0]: ", var1[0]

print "var2[1:5]: ", var2[1:5]

执行结果:

var1[0]:H

var2[1:5]:ytho

1-3、列表

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        # 打印组合的列表

执行结果:

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

runoob

[786,2.23]

[2.23,'john',70.2]

[123,'john',123,'john']

['runoob',786,2.23,'john',70.2,123,'john']

1-4、元组

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

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      # 打印组合的元组

执行结果:

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

runoob

786,2.23

2.23,'john',70.2

123,'john',123,'john'

'runoob',786,2.23,'john',70.2,123,'john'

1-5、集合

Python语言里集合(set)类型自带的方法,set类型表示元素和集合的从属关系(membership),和列表等序列相比,最大的特点是无序。可以跟数学里的集合概念完全对应起来。

与list,tuple不同的地方是,set更加强调的是一种“从属关系”(membership),跟顺序无关,所以有重复的元素会先排除。

"{ }"用来创建set类型的变量,这与字典很类似,只是缺少了value,set类型和字典的索引(key)有一些类似之处,比如:无序、不可重复、必须是hashable的,所以用"{ }"表示,是理所当然的。

1-6、字典

字典(dictionary)是除列表以外,Python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

例如:

dict = {}

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

dict[2] = "This is two" 

tinydict = {'name': 'runoob','code':6734, 'dept': 'sales'

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

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

print tinydict                         # 输出完整的字典

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

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

执行结果:

This is one

This is two

{'dept': 'sales','code':6734, 'name': 'runoob'}

{'dept','code','name'}

{'sales',6734,'runoob'}

二、数据类型的转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

函数描述

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)

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

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约