python七种数据类型

概述

python数据类型主要分为以下七大类:

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

Python 的七个标准数据类型中:

不可变数据类型(4 个):Number(数字)、Boolean(布尔)、String(字符串)、Tuple(元组);
可变数据类型(3 个):List(列表)、Dictionary(字典)、Set(集合)。

可变数据类型的内容可以随着函数的执行发生变化,而不可变数据类型的则不行。

问:如何判断一个变量的类型?

答:①使用type(变量名称)方法,返回变量的数据类型②isinstance(变量名称,数据类型),只能返回True或False(真的还是假的)

1.数字类型(Numbers)

数值类型就是我们日常生活中的数字

python的数字类型包括:

int(长整型)
float(浮点型)
complex(复数)

# 整型int,浮点型float
a=1
b=1.1
print(a,b,type(a),type(b),isinstance(a,int))
#输出结果为
#1 1.1 <class 'int'> <class 'float'> True

2.布尔类型(Boolean)

布尔类型是与逻辑相关一种数据类型,只有两个值:True(真)与False(假)

其中布尔类型值可以相加,但一旦相加,类型就会转换为int类型

# 2.布尔型Boolean
c=True
d=False
d=c+d
print(type(c),type(d),d)
#输出结果
#<class 'bool'> <class 'int'> 1

3.字符串类型(String)

在Python变量定义中,如果其赋值的内容是通过单引号或双引号引起来的内容就是字符串str类型。

字符串操作:

1.字符串索引

a[i]代表字符串a第i+1个位置的索引,a[-1]代表字符串a最后一个位置的索引

2.字符串截取

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

3.字符串拼接:“+”

4.字符串复用:“*“

# 3.字符串str
f='我是小高'
g=',你呢'
print(f[0],f[-1],f[:3],f[1:-1],f+g,f*3)
# 我 高 我是小 是小 我是小高,你呢 我是小高我是小高我是小高

4.列表类型(List)

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

数组操作与字符串类型类似

多维数组初始化:

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

# 4.列表list
e=[1,2,3,"a"]
list=["b",'c']
print(type(e),e[2],e[2:-1],e+list,list*2)
#<class 'list'> 3 [3] [1, 2, 3, 'a', 'b', 'c'] ['b', 'c', 'b', 'c']
# 3*2二维数组初始化
list2=[[0 for i in range(2)] for j in range(3)]
#[[0, 0], [0, 0], [0, 0]]

5.元组类型(Tuple)

python的元组类似于list列表,元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
它支持字符,数字,字符串,列表,元组等所有类型
元组的取值、截取、连接、重复与列表一样

# 5.元组tuple
a=1
b=True
c='aaa'
g=(1,2,3,4)
print(type(g),g)
g=(a,b,c,g)
print(g)
#<class 'tuple'> (1, 2, 3, 4)
#(1,True,'aaa',(1, 2, 3, 4))

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

a=[1,2,3]
tuple=(1,2,a)
print(tuple)
a[1]=4
print(tuple)
#(1, 2, [1, 2, 3])
#(1, 2, [1, 4, 3])

6.集合类型(Set)

集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员

基本功能是进行成员关系测试和删除重复元素

可以使用大括号 { } 或者 set() 函数创建集合,

注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典

不能往集合里边添加可变数据类型的数据

# 6.集合set
h={
    
    'a',"b",1,(1,2),"hishis"}
print(type(h),h)
se=set()
print(type(se))
# <class 'set'> {1, (1, 2), 'a', 'b', 'hishis'}
# <class 'set'>

7.字典类型(Dictionary)

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

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

键(key)必须使用不可变类型(数字、布尔、字符串、元组)

在同一个字典中,键(key)必须是唯一的

# 7.字典dict
a=1
b=True
c=[1,2,3]
d=(1,2)
e='aaa'
i={
    
    "a":a,"b":b,"c":c,"d":d,"e":e,'i':"xiaogao"}
print(type(i),i)
#<class 'dict'> {'a': 1, 'b': True, 'c': [1, 2, 3], 'd': (1, 2), 'e': 'aaa', 'i': 'xiaogao'}
i['a']=False#可以改变原有数据类型
print(i.keys())
print(i.values())
print(i)
# dict_keys(['a', 'b', 'c', 'd', 'e', 'i'])
# dict_values([False, True, [1, 2, 3], (1, 2), 'aaa', 'xiaogao'])
# {'a': False, 'b': True, 'c': [1, 2, 3], 'd': (1, 2), 'e': 'aaa', 'i': 'xiaogao'}

类型比较

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

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

类型转换


属性 解释
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码对应的字符
dict() 创建一个字典
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串
ord(x) 将一个字符转化为一个整数,该整数为x对应的ASCII码

猜你喜欢

转载自blog.csdn.net/qq_42076902/article/details/124728367