一、int——支持转换为 int 类型的,仅有 float
、str
、bytes
,其他类型均不支持。
1、str与bytes类型是什么,有什么区别
文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。
字符串是 以字符为单位进行处理的,bytes类型是以字节为单位处理的。
b = b'' # 创建一个空的bytes
b = byte() # 创建一个空的bytes
b = b'hello' # 直接指定这个hello是bytes类型
b = bytes('string',encoding='编码类型') #利用内置bytes方法,将字符串转换为指定编码的bytes
b = str.encode('编码类型') # 利用字符串的encode方法编码成bytes,默认为utf-8类型
bytes.decode('编码类型'):将bytes对象解码成字符串,默认使用utf-8进行解码。
更加详细参考http://t.csdn.cn/cDZU6http://t.csdn.cn/cDZU6http://t.csdn.cn/iF1Ix
http://t.csdn.cn/iF1Ix
2、float转换int
会去掉小数点及后面的数值,仅保留整数部分。
3、str转换int
如果字符串中有数字(0-9)和正负号(+/-)以外的字符,就会报错。
print(int())中int的()里面的数字要用引号引用,否则不是str类型
4、bytes转换int
如果 bytes 中有数字(0-9)和正负号(+/-)以外的字符,就会报错。
注意:int()里不能有数字运算如print(int(1213+32))输出结果错误。
二、Float——支持转换为 float 类型的,仅有 int
、str
、bytes
,其他类型均不支持。
1、int转换为float
int
转换为 float
时,会自动给添加一位小数。
2、str转换为float
如果字符串含有正负号(+/-)、数字(0-9)和小数点(.)以外的字符,则不支持转换。
3、bytes转换为float
如果 bytes 中含有正负号(+/-)、数字(0-9)和小数点(.)以外的字符,则不支持转换。
三、str——str()
函数可以将任意对象转换为字符串。
1、int转换为str
int
转换 str
会直接完全转换。
2、float转换为str
float
转换 str
会去除末位为 0 的小数部分。
3、bytes转换为str
bytes
和 str
的转换比较特殊点,在 Python 3.x 中,字符串和字节不再混淆,而是完全不同的数据类型。
转换为可执行的表达式字符串:
str()
函数指定 encoding
参数,或者使用 bytes.decode()
方法,可以作实际数据的转换:
4、list转换为str
会先将值格式化为标准的 list
表达式,然后再转换为字符串。
. join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串(分别使用' ' 、' - '与':'作为分隔符)
详细参考