转换类型需要用到一些函数,下面一一列出:
1.int()
2.float()
3.bool()
4.str()
等等......
现在我们先讲这三种:
1.int()
这是一个将各种类型转换为整型的函数,它可以这样操作,这里使用的是pythonIDLE交互模式:
#将整型转为整型
>>>int(123)
123
#将浮点型转为整型
>>>int(12.5)
12
#将布尔值转为整型
>>>int(True)
1
#将字符串转为整型
>>>int('123')
123
>>>int('hello')
ValueError: invalid literal for int() with base 10: 'hello'
可以看到,整型转为整型,数据不变。浮点型转为整型,小数点和小数被去掉了,并且没有用四舍五入。布尔值转为整型,因为True等于1,所以被转为1,。字符串则是纯数字的字符串可被转为整数,而不是纯数字则会报错。
2.float()
这是一个将各种类型转换为浮点型的函数,它可以这样操作:
#将浮点型转为浮点型
>>> float(123.3)
123.3
#将整型转为浮点型
>>float(12)
12.0
#将布尔值转为浮点型
>>float(True)
1.0
#将字符串转为浮点型
>>float('123')
123.0
>>float('hello')
ValueError: could not convert string to float: 'hello'
可以看到,浮点型转为浮点型,数据不变。整型转为浮点型,整数后面加了个.0。布尔值转为浮点型,因为True等于1,1是整型,整型又被转为浮点,就为1.0。字符串则是纯数字或小数的字符串可被转为浮点,而不是纯数字或小数则会报错。
3.bool()
这是一个将各种类型转换为布尔型的函数,它可以这样操作:
>>> #将浮点型转为布尔型
bool(123.3)
True
>>>
#将整型转为布尔型
bool(12)
True
>>>
#将布尔型转为布尔型
bool(True)
True
>>> #将字符串转为布尔型
bool('123')
True
>>>
bool('hello')
True
>>>#转换空值和空字符串
bool('')
False
>>>bool()
False
可以看到,该函数只要参数含有值就返回True(真)否则返回False(假)
4.str()
该函数会将值转为字符串:
>>> #各种类型
>>> str(123)
'123'
>>> str(123.3)
'123.3'
>>> str('hello')
'hello'
>>> str('123')
'123'
>>> str(True)
'True'
>>> str(False)
'False'
>>> str('')
''
可以看到,各种类型的值经过str()函数转换,返回的都是字符串。