Python常用数据类型 新手必看 超详细介绍

目录

一、Int整型

二、Float浮点型

科学计数法

三、Bool布尔类型

bool函数

四、Str字符型

字符串的声明

字符串的常见操作

查找:

计数:

大小写转换:

编码与解码:

切割与拼接:

替换:

五、None

六、List列表

列表的声明

列表的常见操作

 增加元素:

删除元素:

其他:

七、Tuple元组

元组的声明

元组的常见操作

查找&计数

八、Dict字典

 字典的声明

 字典的键与值

字典的常见操作

in成员运算符:

len():

字典的遍历:

keys(): 

values(): 

items(): 

get():

添加:

删除:

合并:

九、Set

 集合的定义

集合的遍历

集合的基本操作

添加元素:

删除元素:

合并:

集合的运算

交集 (intersection):

并集 (union):

差集 (difference):


一、Int整型

整数(int):表示整数,如 -5, 0, 100 等,属于不可迭代对象。整型是不可变的数据类型,在内存中每个整型数据只存在唯一的地址。在代码中我们可以使用以下2种方式来表示整型数据。

  • 方式一:直接赋值
number = 1  # 方式1  直接赋值
print(number)  # 1
  • 方式二:用 int() 转化
number = int("1")  # 方式二  将字符串"1"转为整型
print(number)  # 1

二、Float浮点型

浮点数(float):表示有小数部分的数值,如 3.14, -0.001, 2.0 等,属于不可迭代对象。浮点型是不可变的数据类型,在内存中每个浮点型数据只存在唯一的地址。在代码中我们可以使用以下两种方式来表示浮点型数据。

  • 方式一:直接赋值
number = 1.0  # 方式1  直接赋值
print(number)  # 1.0
  • 方式二:用 float() 转化
number = float("1.1")  # 方式二  将字符串"1"转为浮点型
print(number, type(number))  # 1.1 <class 'float'>

number = float(1)  # 将整型"1"转为浮点型
print(number, type(number))  # 1.0 <class 'float'>

科学计数法

在python中可以把一些很长的小数,用科学计数法的方式缩写。

a = 0.0000000000003
print(a)  # 3e-13

打印出a的值为3e-13。其中e表示10的指数函数,e-13就表示10^{-13},3e-13就表示3\ast 10^{-13}。python中使用科学计数法表示的数据都属于浮点型

举例:

a = 1e2
print(a)  # 100.0

三、Bool布尔类型

在 Python 中,也有与 01 表现相似的数据类型——布尔类型(bool)。布尔类型是 int 类型 的延续,只有 True 与 False 两种取值: True >> 真    False >> 假

bool函数

bool()函数 Python 提供的 bool(表达式) 函数,可以用来测试一个表达式的布尔值结果。

  • 对于数字来说,值 为 0 则表示 False,值 不为 0 则表示 True
  • 对于字符串、列表、元组、字典、集合等对象,若 为空 则表示 False,不为空 则表示 True
print(bool(True)+1)  # 2
print(bool(False)+1) # 1

四、Str字符型

用单引号或双引号引起来的字符如:"a","1","*","abc",'12#@'等等,是可迭代对象。是不可变的数据类型 ,因为当一个字符串被定义后,字符串里面任意一个字符都是确定的,我们不能在代码中去修改一个字符串,但我们可以通过拼接和切片的方式得到一个新的字符串。在代码中我们可以使用以下2种方式来表示字符串。

字符串的声明

  • 方式一 :利用引号赋值
str1 = 'abc'
str2 = "abc"
str3 = '''abc'''
str4 = """abc"""
# 三重引号可以赋值多行字符串
  • 方式二:使用 str() 函数
str1 = str(123)
print(str1, type(str1))  # 123 <class 'str'>

字符串的常见操作

查找:
print("abcd123abcd123".index("123"))  # 找第一个出现的索引  找不到 会报错
print("abcd123abcd123".rindex("123"))  # 从右侧找第一个的索引
print("abcd123abcd123".find("123"))  # 找第一个出现的索引  找不到 返回 -1
print("abcd123abcd123".rfind("123"))  # 从右侧找第一个的索引
计数:
print("abcd123abcd123".count("123"))  # 统计目标出现的次数
大小写转换:
print("aBcd efG".capitalize())  # 首字母大写
print("aBcd".upper())  # 全大写
print("aBcd".lower())  # 全小写
print("aBcd efG".swapcase())  # 大小写转换
print("aBcd efG".title())  # 单词首字母大写
编码与解码:
bytes_result = "字符串".encode(encoding="utf8")  # 编码  encoding指明编码解码方式
print(type(bytes_result), bytes_result)  # <class 'bytes'> b'\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2'
str_result = bytes_result.decode(encoding="utf8")  # 解码
print(type(str_result), str_result)  # <class 'str'> 字符串
切割与拼接:
r = "abcd123abcd123abcd".split("123")  # 将字符串 切割 返回一个列表
print(type(r), r)
# <class 'list'> ['abcd', 'abcd', 'abcd']
print("++".join(r))  # 使用指定字符串将可迭代类型中每一个元素都拼接
# abcd++abcd++abcd
替换:
print("abcd123abcd123abcd".replace("123", "___"))  # 将指定内容替换掉字符串中的内容
# abcd___abcd___abcd

五、None

None 表示为 空值,其类型为 NoneType

注意:

  • NoneType 只有 None 一个值
  • None 与其它值比较永远返回 False
  • None 的布尔值永远为 False

六、List列表

 数据类型list,list是python内置的一种高级数据类型。list是一种有序的集合,基于链表实现 在python中应用很广泛

列表的声明

  • 声明方式一:

l0 = []
print(l0, type(l0))
l1 = [1, 2, 3.2, 'abc']
print(l1, type(l1))
  • 声明方式二:

l2 = list()  # 只能将可迭代类型转化为列表类型
print(l2, type(l2))
l3 = list(range(5))
print(l3, type(l3))

列表的常见操作

 增加元素:
l = [1, 3, 5]

l.append(7)  # 插入末尾
print(l)  # [1, 3, 5, 7]
l.insert(1, 2)  # 在指定位置插入指定元素
print(l)  # [1, 2, 3, 5, 7]
l.extend(range(10))  # 将可迭代元素的每一个元素依次放在列表末尾
print(l)  # [1, 2, 3, 5, 7, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
删除元素:
r = l.pop()  # 删除指定索引对应的元素  默认为末尾

l.remove(7)  # 删除指定的值  不存在则报错

l.clear()  # 清空列表
其他:
l.index(5)  # 查找元素的索引  找不到报错
l.count(5)  # 统计元素出现的次数
l.reverse()  # 逆序排列
l.sort(reverse=True)  # 默认升序排列  reverse=True 表示降序

七、Tuple元组

元组是一个不可改变的列表。

元组的创建很简单,使用圆括号 () 直接创建或者使用 tuple() 函数创建,只需要在圆括号中添加元素,并使用逗号隔开即可。

元组的声明

  • 元组的定义方式一:
t1 = ()
print(t1, type(t1))  # () <class 'tuple'>
t2 = (10,)
print(t2, type(t2))  # (10,) <class 'tuple'>
t3 = 10, 20, 30
print(t3, type(t3))  # (10, 20, 30) <class 'tuple'>

注意事项:如果只有一个元素,则逗号不可以省略。

  • 元组的定义方式二:
# tuple(可迭代)
t4 = tuple("hello")
print(t4, type(t4))  # ('h', 'e', 'l', 'l', 'o') <class 'tuple'>
t5 = tuple([1, 2, 3])
print(t5, type(t5))  # (1, 2, 3) <class 'tuple'>
t6 = tuple(range(4))
print(t6, type(t6))  # (0, 1, 2, 3) <class 'tuple'>

元组的常见操作

查找&计数
.index(value)  # 寻找目标的索引
.count(value)  # 寻找目标的各种
  • index(value):返回元素对于的索引,找不到就会报错
  • count(value):返回元素出现的次数,找不到就会返回0
t1 = (10, 20, 30, 40, 50)
print(t1.count(30))  # 30出现的次数为1
print(t1.index(30))  # 30所在的索引为2

八、Dict字典

Python字典是另一种可变容器模型,可存储任意类型对象。如字符串、数字、元组等其他容器模型
因为字典是无序的所以不支持索引和切片。

 字典的声明

  • 字典的定义方式一:
d0 = {}
print(d0)  # {}
d1 = {
    'name': '字典',
    "age": 18
}
print(d1)  # {'name': '字典', 'age': 18}
  • 字典的定义方式二:
d2 = dict()
print(d2)       # {}
d3 = dict(a=10, b=20, c=30)
print(d3)       # {'a': 10, 'b': 20, 'c': 30}

 字典的键与值

字典内元素以键值对存在==key(键值): value(实值)

d5 = {
    10: 40,
    3.14: "PI",
    False: "bool",
    "name": "dict",
    None: "None",
    (): "tuple",
}
print(d5)  # 键值不可变类型
  • key不可以重复,否则只会保留第一个;
  • value值可以是任意数据类型,可以重复;
  • key是不可变类型,保证key唯一;
  • key一般形式为字符串。

字典的常见操作

in成员运算符:
d6 = {
    "id": 101,
    "name": "字典"
}
print("name" in d6)  # True

查看键是否在字典中

len():
d6 = {
    "id": 101,
    "name": "字典"
}
print(len(d6))   # 2  返回值为键值对的个数
字典的遍历:
keys()
  • 遍历所有的键
d6 = {
    "id": 101,
    "name": "字典"
}
for k in d6.keys():
    print(k, d6[k])

# id 101
# name 字典
values()
  • 遍历所有的值

for v in d6.values():
    print(v)
# 101
# 字典

items()
  • 遍历所有的键值对
for k, v in d6.items():  # id 101 \n name 字典
    print(k, v)
# id 101 
# name 字典
get():
d6 = {
    'id': 101,
    'name': '乔布斯',
    'addr': '杭州',
    'hobby': '睡觉'
}
print(d6)
print(d6.get("name"), d6.get("hobby", "打篮球"), d6.get("123", "打篮球"))
# {'id': 101, 'name': '乔布斯', 'addr': '杭州', 'hobby': '睡觉'}
# 乔布斯 睡觉 打篮球
  • 获取指定键对应的值
  • 如果键不存在返回None
  • 也可以指定键不存在时返回默认的值
添加:

变量名 [键名] = 值

d6 = {
    'id': 101,
    'name': '乔布斯',
    'addr': '杭州'
}
d6["hobby"] = "睡觉"
print(d6)
# {'id': 101, 'name': '乔布斯', 'addr': '杭州', 'hobby': '睡觉'}
删除:

pop(""):删除指定的,并返回对应的

d6 = {
    'id': 101,
    'name': '字典',
    'sex': '男'
}
r = d6.pop("id")  # 删除
print(r, d6)
# 101 {'name': '字典', 'sex': '男'}

popitem():删除并且返回(元组)最后放入的一个键值对,但是字典一般不关注先后顺序

r = d6.popitem()  # 删除并且返回(元组)最后放入的一个键值对
print(r, d6)
# ('sex', '男') {'name': '字典'}

clear():清空

d6.clear()  # 清空
print(d6)  # {}
合并:

update(字典):合并为一个字典到原始字典

d6 = {
    'id': 101, 
    'name': '字典', 
    'sex': '男'
}
d6.update({  # 合并一个字典到原始字典
    "addr": "杭州",  # 添加
    "name": "乔布斯"  # 更新
})
print(d6)
# {'id': 101, 'name': '乔布斯', 'sex': '男', 'addr': '杭州'}

九、Set

在 Python 中,集合(Set)是一种无序元素唯一的数据结构。集合对象支持多种数学运算,如并集、交集、差集等。

 集合的定义

可以使用花括号 {} 或者 set() 构造函数来创建集合:

# 使用花括号创建集合
set0 = {1, 2, 3, 4, 5}

# 使用 set() 构造函数创建集合
set1 = set([4, 5, 6, 7, 8])

方法一无法创建空集合,空花括号{}为字典。

方法二将可迭代类型元素依次放入集合

在集合中,重复的元素会被自动忽略,确保每个元素都是唯一的。

集合的遍历

可以使用 for 循环遍历集合中的所有元素:

set0 = {1, 2, 3, 4, 5}
for e in set0:
    print(e)

因其无序特性,无法用索引遍历。

集合的基本操作

添加元素:

可以使用 .add() 方法向集合中添加元素:

# 添加
s4 = {1, 3, 5}
s4.add(7)    # 添加元素 7

# {1, 3, 5, 7}
删除元素:

可以使用 .pop() .discard() .remove() .clear() 等方法删除元素:

s4 = {1, 3, 5, 7, 9}
s4.discard(100)  # 删除一个元素  不存在不报错

s4.remove(9)  # 删除一个元素  不存在则报错
print(s4)  # {1, 3, 5, 7}

s4.pop()  # 任意删除一个  因为本身无序
print(s4)  # {3, 5, 7}

s4.clear()  # 清空
print(s4)  # set()
合并:

可以使用 .update() 方法向集合中添加元素:

# 合并
s4 = {1, 3, 5}
s4.update({3, 5, 7, 9})
print(s4)  # {1, 3, 5, 7, 9}

集合的运算

集合支持多种数学运算,如交集并集差集。

s5 = {1, 3, 5}
s6 = {3, 5, 7}
交集 (intersection):

返回同时在两个集合中的元素:

s7 = s5.intersection(s6)  # 交集
print(s7)  # {3, 5}
并集 (union):

返回包含两个集合所有元素的新集合:

s8 = s5.union(s6)  # 并集
print(s8)  # {1, 3, 5, 7}
差集 (difference):

返回存在于第一个集合但不存在于第二个集合的元素:

s9 = s5.difference(s6)  # 差集
print(s9)  # {1}
s10 = s6.difference(s5)  # 差集
print(s10)  # {7}

  • 31
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值