Python3数据类型转换

数据类型转换

自动转换

自动转换是说不需要人工干预,程序会自动转换。

  • 程序会朝着更精确的方向进行转换
  • 一般是在运算或者进行判断的时候进行转换

手动转换

手动转换是说随着我们开发者的意志进行转换

int 整数型转换 int( )

  • int 不用转换
  • float 转换之后去掉小数点
  • complex 不能进行转换
  • bool True变成1 False变成0
  • string 只有由纯整数组成的字符串才能进行转换
  • 列表、元组、集合、字典都不能进行转换
# 整型
val = 1
print(val,type(val))
val1 = int(val)
print(val1,type(val1))

# 浮点型
val = 1.6
print(val,type(val))
val1 = int(val)
print(val1,type(val1))

# 布尔值
val = False
print(val,type(val))
val1 = int(val)
print(val1,type(val1))

# 字符串
val = "-1"
print(val,type(val))
val1 = int(val)
print(val1,type(val1))

# 复数
#val = 1+1j
#print(val,type(val))
#val1 = int(val)
#print(val1,type(val1))
#列表
# val = [1]
# print(val,type(val))
# val1 = int(val)
# print(val1,type(val1))
#元组
# val = (1,)
# print(val,type(val))
# val1 = int(val)
# print(val1,type(val1))
#集合
# val = {1}
# print(val,type(val))
# val1 = int(val)
# print(val1,type(val1))
#字典
#val = {"a":1}
#print(val,type(val))
#val1 = int(val)
#print(val1,type(val1))

float浮点型转换 float( )

  • int 可以转换 转换之后在末尾添加.0
  • float 不需要转换
  • complex 不可以转换
  • bool 转换之后 True变成1.0 False变成0.0
  • string 只能由整数或者浮点数组成的字符串可以转换
  • 列表、元组、集合、字典都不能进行转换
# 整型
val = 5
print(val,type(val))
val1 = float(val)
print(val1,type(val1))

# 浮点型
val = 1.23
print(val,type(val))
val1 = float(val)
print(val1,type(val1))

# 布尔值
val = False
print(val,type(val))
val1 = float(val)
print(val1,type(val1))

# 字符串
val = "1.23"
print(val,type(val))
val1 = float(val)
print(val1,type(val1))

# 复数
# val = 5+0j
# print(val,type(val))
# val1 = float(val)
# print(val1,type(val1))
#列表
# val = [1,2]
# print(val,type(val))
# val1 = float(val)
# print(val1,type(val1))
#元组
# val = (1,)
# print(val,type(val))
# val1 = float(val)
# print(val1,type(val1))
#集合
# val = {2,3,4}
# print(val,type(val))
# val1 = float(val)
# print(val1,type(val1))
#字典
#val = {"a":1}
#print(val,type(val))
#val1 = float(val)
#print(val1,type(val1))

complex复数转换 complex( )

  • int 转换之后 在整数后边加0j
  • float 转换之后在浮点数后边加0j
  • string 只有由整数和浮点数组成的字符串能进行转换,在后面加0j
  • bool True变成1+0j False变 成0j
  • 列表、元组、集合、字典都不能进行转换
# 整型
val = 6
print(val,type(val))
val1 = complex(val)
print(val1,type(val1))

# 浮点型
val = 6.6
print(val,type(val))
val1 = complex(val)
print(val1,type(val1))

# 字符串
val = "1.2"
print(val,type(val))
val1 = complex(val)
print(val1,type(val1))

# 布尔值
val = True
print(val, type(val))
val1 = complex(val)
print(val1, type(val1))

val = False
print(val,type(val))
val1 = complex(val) print(val1,type(val1))

bool值的转换 bool( )

  • int 只有 0 变成False,其余都是True
  • float 只有0.0变成False,其余都是true
  • complex 只有0j(-0j)变成False,其余都是True
  • string 空字符串""变成False,其余都是True
  • list 空列表[]变成False,其余都是True
  • tuple 空元组()变成False,其余都是True
  • set 空集合set()变成False,其余都是True
  • dict 空字典{}变成False,其余都是True
# 复数
val = 3j
print(val,type(val))
val1 = bool(val)
print(val1,type(val1))

# 空字符串
val = ""
print(val,type(val))
val1 = bool(val)
print(val1,type(val1))

# 空列表
val = []
print(val,type(val))
val1 = bool(val)
print(val1,type(val1))

# 元组
val = (1,)
print(val,type(val))
val1 = bool(val)
print(val1,type(val1))

val = 1,   # 也是元组,元组标识逗号
print(val,type(val))
val1 = bool(val)
print(val1,type(val1))

# 空集合
val = set()
print(val,type(val))
val1 = bool(val)
print(val1,type(val1))

list列表的转换 list( )

  • int 不可以转换
  • float 不可以转换
  • complex 不可以转换
  • bool 不可以转换
  • string 把每个字当作一个元素添加到列表当中
  • tuple 直接把元组内的元素放到列表当中,顺序不变
  • set 直接把集合里边的元素放到列表当中,顺序随机
  • dict 只把字典的键取出来放到列表当中
# 字符串
val = "大金链子小手表,一天三顿小烧烤,青春献给小酒桌,怎么澎湃怎么喝~~~"
print(val,type(val))
val1 = list(val)
print(val1,type(val1))

# 元组
val = (1,2)
print(val,type(val))
val1 = list(val)
print(val1,type(val1))

# 集合
val = {1,2,3,4}
print(val,type(val))
val1 = list(val)
print(val1,type(val1))

# 字典
val = {"a":1,"b":2,"c":3}
print(val,type(val))
val1 = list(val)
print(val1,type(val1))

# val = 1
# print(val,type(val))
# val1 = list(val)
# print(val1,type(val1))

# val = 1.6
# print(val,type(val))
# val1 = list(val)
# print(val1,type(val1))

# val = True
# print(val,type(val))
# val1 = list(val)
# print(val1,type(val1))

数据类型转换

字符串转换 str( )

  • 所有类型都可以进行转换
# 整型
val = 1
print(val,type(val))
val1 = str(val)
print(val1,type(val1))

# 浮点型
val = 1.6
print(val,type(val))
val1 = str(val)
print(val1,type(val1))

# 复数
val = 1+1j
print(val,type(val))
val1 = str(val)
print(val1,type(val1))

# 布尔
val = False
print(val,type(val))
val1 = str(val)
print(val1,type(val1))

# 列表
val = [1,2,3]
print(val,type(val))
val1 = str(val)
print(val1,type(val1))

# 元组
val = (1,2,3)
print(val,type(val))
val1 = str(val)
print(val1,type(val1))

# 集合
val = {1,2,3}
print(val,type(val))
val1 = str(val)
print(val1,type(val1))

# 字典
val = {"a":1,"b":2,"c":3}
print(val,type(val))
val1 = str(val)
print(val1,type(val1))

元组转换 tuple( )

  • 数字类型都不能进行转换
  • 容器类型可以转换,但是注意字典只有键能转换
  • 字符串转换时每个字符变成元组中的一个元素
# 字符串
val = "I love Python"
print(val,type(val))
val1 = tuple(val)
print(val1,type(val1))

# 列表
val = [1,2,3,4,3]
print(val,type(val))
val1 = tuple(val)
print(val1,type(val1))

# 集合
val = {1,2,3,4,3}
print(val,type(val))
val1 = tuple(val)
print(val1,type(val1))

# 字典
val = {"a":1,"b":2,3:"c"}
print(val,type(val))
val1 = tuple(val)
print(val1,type(val1))

# val = 12345
# print(val,type(val))
# val1 = tuple(val)
# print(val1,type(val1))

# val = 1.2345
# print(val,type(val))
# val1 = tuple(val)
# print(val1,type(val1))

# val = 1+2j
# print(val,type(val))
# val1 = tuple(val)
# print(val1,type(val1))

集合的转换 set( )

  • 数字类型都不能进行转换
  • 容器类型可以转换,但是注意字典只有键能转换
  • 集合中元素唯一
# 字符串
val = "静如瘫痪,动若癫痫~"
print(val,type(val))
val1 = set(val)
print(val1,type(val1))

# 列表
val = [1,2,3,3,4,5]
print(val,type(val))
val1 = set(val)
print(val1,type(val1))

# 元组
val = (1,2,3)
print(val,type(val))
val1 = set(val)
print(val1,type(val1))

# 字典
val = {"a":1,"b":2,"c":3}
print(val,type(val))
val1 = set(val)
print(val1,type(val1))

字典类型转换 dict()

  • 数字类型都不能进行转换
  • 字符串类型都不能进行转换
  • 其它数据类型要按照指定格式才能进行转换(嵌套)
# val = "静如瘫痪,动若癫痫~"
# print(val,type(val))
# val1 = dict(val)
# print(val1,type(val1))

# val = [1,2,3]
# print(val,type(val))
# val1 = dict(val)
# print(val1,type(val1))

#嵌套二级列表,保证二级列表有且只有两个元素
val = [[1,2],[3,4],[5,6]]
print(val,type(val))
val1 = dict(val)
print(val1,type(val1))

val = [(1,2),(3,4),(5,6)]
print(val,type(val))
val1 = dict(val)
print(val1,type(val1))

val = [{1,2},{3,4},{5,6}]
print(val,type(val))
val1 = dict(val)

# 特殊
val = ["白洋","丹丹","念念","张飞"]
print(val,type(val))
val1 = dict(val)
print(val1,type(val1))

# val = (1,2,3)
# print(val,type(val))
# val1 = dict(val)
# print(val1,type(val1))

#嵌套二级元组,保证二级元组有且只有两个元素
val = ([1,2],[3,4],[5,6])
print(val,type(val))
val1 = dict(val)
print(val1,type(val1))

val = ((1,2),(3,4),(5,6))
print(val,type(val))
val1 = dict(val)
print(val1,type(val1))

val = ({1,2},{3,4},{5,6})
print(val,type(val))
val1 = dict(val)
print(val1,type(val1))

# val = {1,2,3}
# print(val,type(val))
# val1 = dict(val)
# print(val1,type(val1))

#嵌套二级集合,保证二级元组有且只有两个元素
val = {(1,2),(3,4),(5,6)}
print(val,type(val))
val1 = dict(val)
print(val1,type(val1))

你可能感兴趣的:(Python3数据类型转换)