强制类型转换(更新)

强制类型转换

  • 直接看总结
# 定义各个数据类型的值
num_int = 123
num_float = 123.1
num_str = '123'
num_list = [1, 2, 3]
num_tuple = (1, 2, 3)
num_dict = {1:'one', 2:'two', 3:'three'}
num_set = {1, 2, 3}

int()

  • int()只能对int, float, str(纯数字)使用,其余报错
result_int = int(num_int)
result_float = int(num_float)
result_str = int(num_str)
print(result_int)
print(result_float)
print(result_str)

123
123
123

str()

  • str()可以对任意数据类型使用,但他只能保存一个值,所以他的作用就是在外部加了个引号,对里面的元素没有任何改变.
# 格式化字符串是为了输出看到"",不然是没有变化的
result_int = str(f'"{num_int}"')
result_float = str(f'"{num_float}"')
result_str = str(f'"{num_str}"')
result_list = str(f'"{num_list}"')
result_tuple = str(f'"{num_tuple}"')
result_dict = str(f'"{num_dict}"')
result_set = str(f'"{num_set}"')

print(result_int)
print(result_float)
print(result_str)
print(result_list)
print(result_tuple)
print(result_dict)
print(result_set)

"123"
"123.1"
"123"
"[1, 2, 3]"
"(1, 2, 3)"
"{1: 'one', 2: 'two', 3: 'three'}"
"{1, 2, 3}"

list()

  • list()里的对象,不可以是整形和浮点型,如果是字典,默认取键,可以用.values() & .items()命令修改
  • str里的元素会一个一个取出来,但都是str的数据类型
  • 改变后的列表,元祖,字典,集合的值相等
result_str = list(num_str)
result_list = list(num_list)
result_tuple = list(num_tuple)
result_dict = list(num_dict)
result_dict_values = list(num_dict.values())
result_dict_items = list(num_dict.items())
result_set = list(num_set)

print(result_str)
print(result_list)
print(result_tuple)
print(result_dict)
print(result_dict_values)
print(result_dict_items)
print(result_set)

print(result_list == result_tuple == result_dict == result_set)

['1', '2', '3']
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
['one', 'two', 'three']
[(1, 'one'), (2, 'two'), (3, 'three')]
[1, 2, 3]
True

tuple()

  • 和list()一样,只是[]变成了()

set()

  • 和list()一样,只是[]变成了{}

dict()

  • 脑子痛以后再弄

总结

数字类型由于不可迭代,只能对数字类型或者str中是数字类型的对象转换

字符串类型转换任意值

列表,元祖,集合,可以转换除数字类型外的值

原文地址:https://www.cnblogs.com/lucky75/p/10922421.html