Loading...
墨滴

浅唱与高歌

2021/09/07  阅读:22  主题:红绯

python学习5

第十一节课 基本数据类型转换

一、数据类型总结

(一)都有哪些类型?

(二)分类

  1. 是否可变
    1. 可变类型:列表、字典、集合
    2. 不可变类型:字符串、数字、元组
  2. 是否容器
    1. 容器类型:字符串、列表、元组、集合、字典
    2. 非容器类型:数字

二、数据类型转换介绍

(一)概念

  1. 定义:把一个数据类型转换为另一个数据类型,例如:字符串转换为数字
  2. 目的:因为不同的数据类型之间不能计算

(二)形式:

1.自动类型转换

  1. 转换指向: bool==>int==>float==>complex
  2. 即:当两个不同类型的值进行计算时,结果会向更高的精度进行计算
###自动类型转换
##第一种
a = 123
b = True#在和数字运算时:Ture转换为数字1,False转换为数字0
print(a + b)
#结果:
124

##第二种
print(12.5 + 22)#浮点+整型,结果为浮点类型
print(True + 3.14)#浮点+布尔,结果为浮点类型
#结果:
34.5
4.140000000000001

##第三种
a = 123
if a:
    print('真')
else:
    print('假')
#结果:

2.强制类型转换:下列函数其他类型转换为对应类型

  1. str()
    • 任何类型数据转换为字符串类型
  2. int()
    • 字符串转数字类型,若字符串为纯数字,才可转
    • 其他容器类型均无法转成 int 类型
  3. float()
    • 与 int 类似,但转换的结果为 float
  4. bool()
    • 空字符串''转换为False
    • 非空字符串转换为Ture,即使是'0',也转换为Ture
    • int 数字的0转换为False
    • float 数字的0.0转换为False
    • FalseFalse
    • 字符串'False'True
    • 空列表[]False
    • 空集合{}set()False
    • 空字典dict()False
    • 空元组()tuple()False
  5. list()
  6. dict()
  7. tuple()
  8. set()

第十二节课 容器数据类型转换

一、列表list()

  1. 数字类型是非容器类型,不能转化为列表
  2. 字符串转换为列表时,会把字符串中的每一个字符当做列表的元素
a = '123'
b = list(a)
print(a, type(a))
print(b, type(b))

#运行结果:
123 <class 'str'>
['1', '2', '3'] <class 'list'>
  1. 集合类型可以转化为列表
  2. 元组类型可以转化为列表
  3. 字典类型可以转化为列表,但转化后只保留了字典中的键
a = {'aa':1'bb':2'cc':3}
b = list(a)
print(a, type(a))
print(b, type(b))

#运行结果:
{'aa'1'bb'2'cc'3} <class 'dict'>
['aa', 'bb', 'cc'] <class 'list'>

二、元组tuple()

  1. 数字类型是非容器类型,不能转化为元组
  2. 字符串转换为元组时,会把字符串中的每一个字符当做元组的元素
a = '123'
b = tuple(a)
print(a, type(a))
print(b, type(b))

#运行结果:
123 <class 'str'>
('1''2''3') <class 'tuple'>
  1. 集合类型可以转化为元组
  2. 列表类型可以转化为元组
  3. 字典类型可以转化为元组,但转化后只保留了字典中的键

三、集合set()

  1. 数字类型是非容器类型,不能转化为集合
  2. 字符串转换为集合,会把字符串中的每一个字符当做集合的元素,但是结果无序
a = '123'
b = set(a)
print(a, type(a))
print(b, type(b))

#运行结果:
123 <class 'str'>
{'2', '1', '3'} <class 'set'>
  1. 元组类型可以转化为集合,结果无序
  2. 列表类型可以转化为集合,结果无序
  3. 字典类型可以转化为集合,但转化后只保留了字典中的键,结果无序

四、字典dict()

  1. 数字类型是非容器类型,不能转化为字典
  2. 字符串不能直接转换为字典
  3. 列表为 2 阶容器,并且其中每个一阶容器中有且只有两个元素,则可以转为字典(二阶列表为中括号套中括号
a = [[1,2], ['a','b'], [6688]]
b = dict(a)
print(a, type(a))
print(b, type(b))

#运行结果:
[[12], ['a''b'], [6688]] <class 'list'>
{1:
 2'a''b'6688} <class 'dict'>
  1. 元组为 2 阶容器,并且其中每个一阶容器中有且只有两个元素,则可以转为字典(二阶元组为小括号套小括号
a = ((1,2), ('a','b'), (6688))
b = dict(a)
print(a, type(a))
print(b, type(b))

#运行结果:
((12), ('a''b'), (6688)) <class 'tuple'>
{1:
 2'a''b'6688} <class 'dict'>
  1. 集合为 2 阶容器,并且其中每个一阶容器中有且只有两个元素,则可以转为字典(二阶集合为大括号套小括号
a = {(1,2), ('a','b'), (6688)}
b = dict(a)
print(a, type(a))
print(b, type(b))

#运行结果:
{('a''b'), (12), (6688)} <class 'set'>
{'a':
 'b'126688} <class 'dict'>

学习资源来源于bilibili视频网站


vx 扫码关注小徐的快乐学习时光

浅唱与高歌

2021/09/07  阅读:22  主题:红绯

作者介绍

浅唱与高歌