Python基础(四):数据类型

简介: 小袁开始更新Python系列教学文章了,从零带你入门,期待的你的关注❤️❤️

文章目录

🌹前言

1 六大数据类型

2 Number(数字)

3 String(字符串)

4 Tuple(元组)

5 List(列表)

6 Dictionary(字典)

7 Set(集合)

8 数据类型转换函数

int()

bool()

float()

str()

list()

tuple()

set()

dict()

🌹前言

小袁开始更新Python系列教学文章了,从零带你入门,期待的你的关注❤️❤️

第一篇文章:Python基础(一):python和vscode环境安装

第二篇文章:Python基础(二):入门必备

第三篇文章:Python基础(三):运算符

第四篇文章:Python基础(四):数据类型

第五篇文章:博主正在加紧编写中…


1 六大数据类型

Number(数字)

String(字符串)

Tuple(元组)

List(列表)

Dictionary(字典)

Set(集合)

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

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

2 Number(数字)

三种不同的数值类型:


int(整型) :通常被称为是整型或整数,是正或负整数,不带小数点。布尔(bool)是整型的子类型。

float(浮点型):浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)

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

数字类型转换:


int(x):将x转换为一个整数。

float(x):将x转换到一个浮点数。

complex(x):将x转换到一个复数,实数部分为 x,虚数部分为 0。

complex(x, y):将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式

常用数学函数:


函数 描述

abs(x) 返回数字的绝对值,如abs(-10) 返回 10

fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0

ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5

floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4

max(x1, x2,…) 返回给定参数的最大值,参数可以为序列。

min(x1, x2,…) 返回给定参数的最小值,参数可以为序列。

pow(x, y) x**y 运算后的值。

round(x [,n]) 返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数。

随机数函数:


函数 描述

choice(seq) 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。

randrange ([start,] stop [,step]) 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1

random() 随机生成下一个实数,它在[0,1)范围内。

shuffle(lst) 将序列的所有元素随机排序

uniform(x, y) 随机生成下一个实数,它在[x,y]范围内。

3 String(字符串)

Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。


常用字符串运算符:


操作符 描述 实例

+ 字符串连接 a + b 输出结果: ab

* 重复输出字符串 a*2 输出结果:aa

[] 通过索引获取字符串中字符 a=‘Hello’,a[1] 输出结果:e

[ : ] 截取字符串中的一部分,遵循左闭右开原则,str[0:2] 是不包含第 3 个字符的 a=‘Hello’,a[1:4] 输出结果 ell

in 成员运算符 - 如果字符串中包含给定的字符返回 True ‘H’ in Hello 输出结果 True

not in 成员运算符 - 如果字符串中不包含给定的字符返回 True ‘M’ not in Hello 输出结果 True

字符串格式化:

name = '小袁'
age = 20
# 语法一:%
print('我的名字是:%s ,年龄是:%d' % (name,age)) # 我的名字是:小袁 ,年龄是:20
#语法二:f'{表达式}'
print(f'我的名字是:{name},我的年龄是:{age}') # 我的名字是:小袁,我的年龄是:20

4 Tuple(元组)

元组创建很简单,只需要在括号()中添加元素,并使用逗号隔开即可,并且元组中的元素不能改变!


tup1 = ('hello', 'world', 1, 2)
print(tup1) # ('hello', 'world', 1, 2)
print(type(tup1)) # <class 'tuple'>

遍历元组:

tup1 = ('hello', 'world', 1, 2)
for i in tup1:
    print(i,end=" ")
# hello world 1 2 

常用运算符:


操作符 描述 实例

len() 计算元素个数 len(tup1),输出结果:4

+ 连接 tup1 + (3,4),输出结果:(‘hello’, ‘world’, 1, 2, 3, 4)

* 复制 (‘Hi!’,) * 4 ,输出结果:(‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’)

in 元素是否存在 3 in (1, 2, 3),输出结果:True

[] 读取第几个元素 [0],输出结果:hello

[ : ] 截取字符串中的一部分,遵循左闭右开原则 [0:2],输出结果:(‘hello’, ‘world’)

5 List(列表)

列表是写在方括号 [] 之间、用逗号分隔开的元素列表。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。列表中的元素是可以改变的!


修改列表:

a = [1, 2, 3, 4, 5]
# 下表索引的方式修改
a[0] = 9
print(a) # [9, 2, 3, 4, 5]
# append()方法:追加列表
a.append(6)
print(a) # [9, 2, 3, 4, 5, 6] 
# del 语句来删除列表的的元素
del a[0]
print(a) # [2, 3, 4, 5, 6]  

嵌套列表:

a = [1, 2, 3, 4, 5]
b = ['a', 'b', 'c']
x = [a, b]
print(x) # [[1, 2, 3, 4, 5], ['a', 'b', 'c']]
print(x[0]) # [1, 2, 3, 4, 5]
print(x[0][1]) # 2

遍历列表:

a = [1, 2, 3, 4, 5]
for i in a:
    print(i,end=" ")
# 1 2 3 4 5 

常用运算符同元组!


常用方法:


方法名 描述

list.append(obj) 在列表末尾添加新的对象

list.count(obj) 统计某个元素在列表中出现的次数

list.index(obj) 从列表中找出某个值第一个匹配项的索引位置

list.insert(index, obj) 将对象从对应索引位置插入列表

list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

list.reverse() 反转列表中元素

list.sort( key=None, reverse=False) 对原列表进行排序

list.clear() 清空列表

list.copy() 复制列表

6 Dictionary(字典)

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:


d = {key1 : value1, key2 : value2, key3 : value3 }

键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字


访问字典的值:

dict = {'Name': '小明', 'Age': 20}
print(dict) # {'Name': '小明', 'Age': 20}
print (dict['Name']) # 小明
print (dict['Age']) # 20

修改字典:

dict = {'Name': '小明', 'Age': 20}
dict['Name'] = '小黑'
dict['Age'] = 22
print(dict) # {'Name': '小黑', 'Age': 22}

遍历字典:

dict = {'Name': '小明', 'Age': 20}
#遍历键
for key in dict.keys():
    print(key)
"""
Name
Age
"""
# 遍历值
for value in dict.values():
    print(value)
"""
小明
20
"""

7 Set(集合)

集合可以使用大括号 {} 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。集合是一个无序的不重复元素序列,集合内的元素可以改变!


两种创建格式:

set1 = {'小黑',20,20}
print(set1) # {'小黑', 20} ;元素不重复只显示一个20
set2 = set('abcd')
print(set2) # {'c', 'b', 'd', 'a'} ; 元素没有顺序

修改集合:

set1 = {'小黑',20,20}
#add():添加方法
set1.add('大学生')
print(set1) # {'大学生', '小黑', 20}
# update():也可以添加元素,且参数可以是列表,元组,字典等
set1.update([1,2],[3,4])
print(set1) # {1, '大学生', 2, 3, 4, 20, '小黑'}
# remove():移除元素
set1.remove('大学生')
print(set1) # {1, 2, 3, 4, 20, '小黑'}

遍历集合:

set1 = {'小黑',20,20}
for i in set1:
    print(i,end=" ")
# 20 小黑

8 数据类型转换函数

int()

将float、bool、str类型的数据转换为int类型。float类型转换为int类型时去除小数点后面的数;bool类型转换为int类型时False变为0、True变为1;str类型直接转换为int类型


案例:

# 定义float变量
f = 9.99
# 定义bool类型变量
b1 = False
b2 = True
# 定义str类型变量
s = '111'
# 使用int()函数
int1 = int(f)
int2 = int(b1)
int3 = int(b2)
int4 = int(s)
print("int1:",int1) 
print("int1的类型是:",type(int1))
print("-"*10)
print("int2:",int2)
print("int2的类型是:",type(int2))
print("int3:",int3)
print("int3的类型是:",type(int3))
print("-"*10)
print("int3:",int4)
print("int3的类型是:",type(int4))
'''
int1: 9
int1的类型是: <class 'int'>
----------
int2: 0
int2的类型是: <class 'int'>
int3: 1
int3的类型是: <class 'int'>
----------
int3: 111
int3的类型是: <class 'int'>
'''

bool()

将int、float、str类型的数据转换为bool类型。int类型转换为bool类型时0变为False、其他数据变为True;float类型转换为bool时0.0变为False、其他数据变为True;str类型转换为bool类型时不存在数据变为False、存在数据变为True。


案例:

# 定义int变量
i1 = 0
i2 = -1
i3 = 1
# 定义float变量
f1 = 0.0
f2 = -1.0
f3 = 1.0
# 定义str变量
s1 = ''
s2 = '0'
s3 = '-1'
s4 = '1'
s5 = 'A'
# 使用bool()函数
b1 = bool(i1)
b2 = bool(i2)
b3 = bool(i3)
b4 = bool(f1)
b5 = bool(f2)
b6 = bool(f3)
b7 = bool(s1)
b8 = bool(s2)
b9 = bool(s3)
b10 = bool(s4)
b11 = bool(s5)
print("b1:",b1) 
print("b1的类型是:",type(b1))
print("b2:",b2) 
print("b2的类型是:",type(b2))
print("b3:",b3) 
print("b3的类型是:",type(b3))
print("-"*10)
print("b4:",b4) 
print("b4的类型是:",type(b4))
print("b5:",b5) 
print("b5的类型是:",type(b5))
print("b6:",b6) 
print("b6的类型是:",type(b6))
print("-"*10)
print("b7:",b7) 
print("b7的类型是:",type(b7))
print("b8:",b8) 
print("b8的类型是:",type(b8))
print("b9:",b9) 
print("b9的类型是:",type(b9))
print("b10:",b10) 
print("b10的类型是:",type(b10))
print("b11:",b11) 
print("b11的类型是:",type(b11))
'''
b1: False
b1的类型是: <class 'bool'>
b2: True
b2的类型是: <class 'bool'>
b3: True
b3的类型是: <class 'bool'>
----------
b4: False
b4的类型是: <class 'bool'>
b5: True
b5的类型是: <class 'bool'>
b6: True
b6的类型是: <class 'bool'>
----------
b7: False
b7的类型是: <class 'bool'>
b8: True
b8的类型是: <class 'bool'>
b9: True
b9的类型是: <class 'bool'>
b10: True
b10的类型是: <class 'bool'>
b11: True
b11的类型是: <class 'bool'>
'''

float()

将int、bool、str类型的数据转换为float类型数据。int类型转换为float时在末尾添加小数位;bool类型转换为float时False变为0.0,、True变为1.0;str类型直接转换为float类型。


案例:

# 定义int变量
i1 = 1
i2 = -1
# 定义bool变量
b1 = False
b2 = True
# 定义str变量
s1 = '99'
# 使用float()函数
f1 = float(i1)
f2 = float(i2)
f3 = float(b1)
f4 = float(b2)
f5 = float(s1)
print("f1:",f1) 
print("f1的类型是:",type(f1))
print("f2:",f2) 
print("f2的类型是:",type(f2))
print("-"*10)
print("f3:",f3) 
print("f3的类型是:",type(f3))
print("f4:",f4) 
print("f4的类型是:",type(f4))
print("-"*10)
print("f5:",f5) 
print("f5的类型是:",type(f5))
'''
f1: 1.0
f1的类型是: <class 'float'>
f2: -1.0
f2的类型是: <class 'float'>
----------
f3: 0.0
f3的类型是: <class 'float'>
f4: 1.0
f4的类型是: <class 'float'>
----------
f5: 99.0
f5的类型是: <class 'float'>
'''

str()

将int、float、bool、list、tuple、set、dict类型的数据转换为str类型


案例:


# 定义int类型变量
i1 = 1
# 定义float类型变量
f1 = 9.99
# 定义bool类型变量
b1 = False
b2 = True
# 定义list类型变量
l1 = [1, 2, 'a', 'b']
# 定义tuple类型变量
t1 = (1, 2, 'a', 'b')
# 定义set类型变量
s1 = {1, 2, 'a', 'b'}
# 定义dict类型变量
d1 = {'name': '小白', 'age':18}
# 使用str()函数
str1 = str(i1)
str2 = str(f1)
str3 = str(b1)
str4 = str(b2)
str5 = str(l1)
str6 = str(t1)
str7 = str(s1)
str8 = str(d1)
print("str1:",str1) 
print("str1的类型是:",type(str1))
print("-"*10)
print("str2:",str2) 
print("str2的类型是:",type(str2))
print("-"*10)
print("str3:",str3) 
print("str3的类型是:",type(str3))
print("str4:",str4) 
print("str4的类型是:",type(str4))
print("-"*10)
print("str5:",str5) 
print("str5的类型是:",type(str5))
print("-"*10)
print("str6:",str6) 
print("str6的类型是:",type(str6))
print("-"*10)
print("str7:",str7) 
print("str7的类型是:",type(str7))
print("-"*10)
print("str8:",str8) 
print("str8的类型是:",type(str8))
'''
str1: 1
str1的类型是: <class 'str'>
----------
str2: 9.99
str2的类型是: <class 'str'>
----------
str3: False
str3的类型是: <class 'str'>
str4: True
str4的类型是: <class 'str'>
----------
str5: [1, 2, 'a', 'b']
str5的类型是: <class 'str'>
----------
str6: (1, 2, 'a', 'b')
str6的类型是: <class 'str'>
----------
str7: {'b', 1, 2, 'a'}
str7的类型是: <class 'str'>
----------
str8: {'name': '小白', 'age': 18}
str8的类型是: <class 'str'>
'''

list()

将tuple、set、dict类型的数据转换为list类型。其中dict类型转换为list类型时,获取的列表中存储的值是dict类型变量的key值。


案例:

# 定义tuple变量
t1 = (1, 2, 'a', 'b')
# 定义set变量
s1 = {1, 2, 'a', 'b'}
# 定义dict变量
d1 = {'name': '小白', 'age':18}
# 使用list()函数
l1 = list(t1)
l2 = list(s1)
l3 = list(d1)
print("l1:",l1) 
print("l1的类型是:",type(l1))
print("-"*10)
print("l2:",l2) 
print("l2的类型是:",type(l2))
print("-"*10)
print("l3:",l3) 
print("l3的类型是:",type(l3))
'''
l1: [1, 2, 'a', 'b']
l1的类型是: <class 'list'>
----------
l2: [1, 2, 'b', 'a']
l2的类型是: <class 'list'>
----------
l3: ['name', 'age']
l3的类型是: <class 'list'>
'''

tuple()

将list、set、dict类型的数据转换为tuple类型。其中dict类型转换为tuple类型时获取的元祖中存储的值是dict类型变量的key值。


案例:

# 定义list变量
l1 = [1, 2, 'a', 'b']
# 定义set变量
s1 = {1, 2, 'a', 'b'}
# 定义dict变量
d1 = {'name': '小白', 'age':18}
# 使用tuple()函数
t1 = tuple(l1)
t2 = tuple(s1)
t3 = tuple(d1)
print("t1:",t1) 
print("l1的类型是:",type(t1))
print("-"*10)
print("t2:",t2) 
print("t2的类型是:",type(t2))
print("-"*10)
print("t3:",t3) 
print("t3的类型是:",type(t3))
'''
t1: (1, 2, 'a', 'b')
l1的类型是: <class 'tuple'>
----------
t2: (1, 2, 'b', 'a')
t2的类型是: <class 'tuple'>
----------
t3: ('name', 'age')
t3的类型是: <class 'tuple'>
'''

set()

将list、tuple、dict类型的数据转换为set类型。其中dict类型转换为set类型时获取的元祖中存储的值是dict类型变量的key值。


案例:

# 定义list变量
l1 = [1, 2, 'a', 'b']
# 定义tuple变量
t1 = (1, 2, 'a', 'b')
# 定义dict变量
d1 = {'name': '小白', 'age':18}
# 使用set()函数
s1 = set(l1)
s2 = set(t1)
s3 = set(d1)
print("s1:",s1) 
print("s1的类型是:",type(s1))
print("-"*10)
print("s2:",s2) 
print("s2的类型是:",type(s2))
print("-"*10)
print("s3:",s3) 
print("s3的类型是:",type(s3))
'''
s1: {1, 2, 'b', 'a'}
s1的类型是: <class 'set'>
----------
s2: {1, 2, 'b', 'a'}
s2的类型是: <class 'set'>
----------
s3: {'age', 'name'}
s3的类型是: <class 'set'>
'''

dict()

因为dict字典类型是键值对对应,所以list、tuple、set类型没法转换

# 创建空的字典
d1 = dict()
print("d1:",d1)
print("d1的类型是:",type(d1))
'''
d1: {}
d1的类型是: <class 'dict'>
'''


相关文章
|
1月前
|
Python
在Python中,布尔(Boolean)数据类型
【4月更文挑战第8天】Python中的布尔数据类型包含`True`和`False`,常用于控制程序流程,如`if`和`while`语句。示例展示了布尔值的赋值、条件判断及逻辑运算(`and`、`or`、`not`)。此外,Python能自动将其他数据类型(如0、空字符串、空列表等)转换为`False`,其余转为`True`,便于条件检查。
20 1
在Python中,布尔(Boolean)数据类型
|
1月前
|
存储 Java Python
python变量、常量、数据类型
python变量、常量、数据类型
|
2天前
|
Python
【Python操作基础】——数据类型
【Python操作基础】——数据类型
|
2天前
|
存储 Python
python字符串和字节明确数据类型
【5月更文挑战第6天】python字符串和字节明确数据类型
8 2
|
5天前
|
存储 程序员 Python
Python 数据类型转换详解
Python 数据类型转换详解
11 0
|
14天前
|
Python 容器
Python数据类型转换
Python数据类型转换
|
15天前
|
索引 Python
【Python21天学习挑战赛】集合 & 数据类型补充
【Python21天学习挑战赛】集合 & 数据类型补充
|
19天前
|
存储 JSON 运维
第三章 Python丰富的数据类型
第三章 Python丰富的数据类型
|
19天前
|
Python
Python从入门到精通——1.2.2学习基础语法和数据类型之控制结构
Python从入门到精通——1.2.2学习基础语法和数据类型之控制结构
|
19天前
|
机器学习/深度学习 存储 数据挖掘
Python从入门到精通——学习基础语法和数据类型 1.2.1变量、整数、浮点数、字符串、布尔值、列表、元组、字典和集合。
Python从入门到精通——学习基础语法和数据类型 1.2.1变量、整数、浮点数、字符串、布尔值、列表、元组、字典和集合。