python简单数据类型转换函数有,python中提供的数据类型转换函数有哪些,作用是什么?
类型转换是将自己的数据类型改变为新的数据类型,并拥有新数据类型的所有功能的过程。本文将详细介绍如何在Python中实现不同数据类型的转换。有兴趣的可以看看。
00-1010字符串和数字之间的转换字符串和数字之间的转换要求字符串和数字之间的转换函数字符串和列表之间的转换split()函数-字符串到列表join()函数-列表到字符串数据类型转换-小练习扩展-sorted()函数字符串和字节之间的转换通过codec encode()函数-字符串到字节decode()函数-字节到字符串列表和集
目录
什么是类型转换?—将您自己的数据类型更改为新的数据类型并拥有新数据类型的所有功能的过程就是类型转换。
为什么要做类型转换?—为了方便和更好地帮助处理业务,请将类型更改为更适合业务场景的类型。
举个例子:比如a=1 ,是字符串类型,所以不能执行数值类型运算。
字符串与数字类型的转换
str-number:它必须是一个数字字符串,才能通过类型转换转换为数字类型。
int _ str= 1024float_str=3.1415926
编号—STR3360没有要求。
字符串与数字之间转换的要求
原语目标类型函数的示例整数string strnew_str=str(123456)浮点string strnew _ str=str(3.1515926)string integer int new _ int=int( 1234 )string浮点int new _ float=int (3.1415926 )示例如下:
str_int=1024
new_int=int(int_str)
打印(new_int)
#执行结果如下:
# 1024
# class int
int_str=3.1415926
new_str=str(int_str)
打印(新字符串)
print(type(new_str))
#执行结果如下:
# 3.1415926
# class str
Int_and_str=123abc#类型转换只能将数字字符串转换为数字类型。
新整数=整数(整数和字符串)
打印(new_int)
#执行结果如下:
# ValueError:基数为10:的int()的无效文本“123abc”
字符串与数字之间的转换函数
字符串与列表之间的转换
split()函数的作用:按照一定的规则剪切字符串,转换成列表。
split()函数的用法:
string.split(sep=Node, maxsplit=-1) ;
- sep : 为作为切割识别的规则符号,不填写的情况下默认切割规则符号为空格;如果字符串不存在空格,则不分割成列表。
- maxsplit:将字符串以切割规则符号切割的次数,默认为 -1 , 即不限制次数。
- split() 函数 的 返回值为列表
示例如下:
name = My name is Neoname_list = name.split()
print(name_list)
# 执行结果如下:
# >>> [My, name, is, Neo]
# >>> 可以看到已经将 name 以空格为切割规则符号切割成了每个单词为一个元素的列表
test_int = 1, 2, 3, 4
test_int_list = test_int.split(,)
print(test_int_list)
# 执行结果如下:
# >>> [1, 2, 3, 4]
# >>> 可以看到已经将 test_int 以逗号为切割规则符号切割成了每个单词为一个元素的列表
test_str = abcde
test_str_list = test_str.split(, 2)
print(test_str_list)
# 执行结果如下:
# >>> [a, b, cde]
# >>> 可以看到已经将 test_str_list 以 为切割规则符号切割成了两次
error_str = a~b~c
test_error_str = error_str.split()
print(test_error_str)
# 执行结果如下:
# >>> ValueError: empty separator 注意:split()函数是不可以用空字符串作为切割规则符号的
join() 函数 - 列表转字符串
split() 函数 的功能:将列表以一定的规则切割,并转换成字符串。
split() 函数 的用法:'sep'.join(iterable) ;
- sep:生成字符串用来分割列表每个元素的符号
- iterable:非数字类型的列表或元组或集合
- join() 函数 的 返回值为一个字符串
- 需要注意的是:只有列表的元素为字符串的情况下才可以将列表转为字符串,列表元素为 数字、元组、字典等数据类型的情况下,则会报错。
示例如下:
test_info = [a, b, c]new_info = -.join(test_info)
print(new_info)
# 执行结果如下:
# >>> a-b-c
test_info_int = [1, 2, 3, 4]
new_info_int = -.join(test_info_int)
print(new_info_int)
# 执行结果如下:
# >>> TypeError: sequence item 0: expected str instance, int found
test_info_tuple = [(1, ), (2, 3, 4)]
new_info_tuple= -.join(test_info_tuple)
print(new_info_tuple)
# 执行结果如下:
# >>> TypeError: sequence item 0: expected str instance, int found
数据类型转换 - 小练习
将字符串 'a e f h j k d l' , 转换为列表并进行排序,然后再转为字符串。
代码示例如下:
sort_str = a e f h j k d lsort_str_list = sort_str.split( )
print(sort_str_list)
# 执行结果如下:
# >>> [a, e, f, h, j, k, d, l]
sort_str_list.sort()
print(sort_str_list)
# 执行结果如下:
# >>> [a, d, e, f, h, j, k, l]
sort_str = .join(sort_str_list)
print(sort_str)
print(type(sort_str))
# 执行结果如下:
# >>> adefhjkl
# >>> <class str>
拓展 - sorted() 函数
sorted() 函数区别于 sort() 函数。sort() 函数为列表的内置函数,而sorted() 函数为python的内置函数,可以处理所有的数据类型。
示例如下:
sort_str_new = aefhjkdcresult = sorted(sort_str_new)
print(result)
# 执行结果如下:
# >>> [a, c, d, e, f, h, j, k]
print(.join(result))
# 执行结果如下:
# >>> acdefhjk
字符串与bytes通过编解码进行转换
什么是 bytes ?(比特类型) —> bytes 是一种二进制数据流,也是一种可传输的类型,在各个编程语言中都存在。也可以认为它是一种特殊的字符串,因为它长得和字符串几乎一模一样,同时也拥有字符串几乎所有的内置函数。我们完全可以像操作字符串一样操作 比特类型 (bytes),只不过字符串前需要加上 b 的标识。
示例如下:
bt = bmy name is Neoprint(\bt\的值为:, bt, ;\bt\的类型为:, type(bt))
# 执行结果如下:
# >>> bt的值为: bmy name is Neo ;bt的类型为: <class bytes>
print(bt.capitalize())
# 执行结果如下:
# >>> bMy name is neo
print(bt.replace(Neo, Jack))
# 执行结果如下:
# >>> TypeError: a bytes-like object is required, not str 这里的报错是因为我们替换的类型为字符串类型,正确的写法如下
print(bt.replace(bNeo, bJack))
# 执行结果如下:
# >>> bmy name is Jack
print(bt[0])
print(bt[-1])
print(bt[3:8])
# 执行结果如下:
# >>> 109 这里的109是 n 的二进制流的显示方式
# >>> 111 这里的111是 o 的二进制流的显示方式
# >>> bname
print(\N\字符的索引位置为:, bt.find(bN))
# 执行结果如下:
# >>> N字符的索引位置为: 11
test_info = bmy name is \李雷\
print(test_info)
# 执行结果如下:
# >>> SyntaxError: bytes can only contain ASCII literal characters. # 报错信息为"bytes"类型只支持ASCII码的字符
# 由此也引出了下文的 encode() 函数 与 decode() 函数
encode() 函数 - 字符串转 bytes
encode() 函数 的功能:将字符串转为比特(byte)类型
encode() 函数 用法:
用法:string.encode(encoding='utf-8', errors='strict')
参数:encoding 与 errors
- encoding 转换成的编码格式,如ascii、gbk、默认为 ‘utf-8’
- errors 出错时的处理方法,默认为 strict ;直接报错误,也可以选择 ignore 忽律错误
- 返回值为一个比特(bytes)类型
示例如下:
test_str = my name is HanMeimeibytes_str = test_str.encode(utf-8)
print(bytes_str)
print(type(bytes_str))
# 执行结果如下:
# >>> bmy name is HanMeimei
# >>> <class bytes>
decode() 函数 - bytes 转字符串
decode() 函数 的功能:将比特(byte)类型转为字符串
decode() 函数 用法:
用法:string.encode(encoding='utf-8', errors='strict') ;
参数:encoding 与 errors; 注意,这里的 encoding 是解码的作用,encode() 函数 的 encoding 是 编码的作用。
- encoding 转换成的编码格式,如ascii、gbk、默认为 ‘utf-8’
- errors 出错时的处理方法,默认为 strict ;直接报错误,也可以选择 ignore 忽律错误
- 返回值为一个字符串类型
示例如下:
bytes_str = bPython is very goodtest_str = bytes_str.decode(utf-8)
print(test_str)
print(type(test_str))
# 执行结果如下:
# >>> Python is very good
# >>> <class str>
str_date = my name is \亚当\byte_date = str_date.encode(utf-8)
print(byte_date)
# 执行结果如下:
# >>> b"my name is \xe4\xba\x9a\xe5\xbd\x93" 这是 utf-8 转化的中文的样子
print(byte_date.decode(utf-8))
# 执行结果如下:
# >>> my name is 亚当
列表、集合、元组的转换
列表元组集合间转换的函数
到此这篇关于Python学习之不同数据类型间的转换总结的文章就介绍到这了,更多相关Python数据类型转换内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。