【Python入门与进阶】类型转换与类型转换函数的本质
【转自】【Python入门与进阶】类型转换与类型转换函数的本质
0: 导语
》》a:字符串可以转数字吗?使用类型转换函数
》》b:类型转换函数本质上在做什么?
1:类型转换
比如,一个字符串 ‘1234’ 转在 数字 1234
定义:类型转换,将一个类型的对象转换为另一个其他类型的对象
2:类型转换四个函数
int() float() str() bool()
》》 int()
可以用来将其他的对象转换为整型
规则:
布尔值:True -> 1 False -> 0
浮点数:直接取整,省略小数点后的内容
字符串:合法的整数字符串,直接转换为对应的数字
只有一点需要大家注意 比如 ‘hello’ 转 数字 ,应该是哪个?
如果不是一个合法的整数字符串,则报错 ValueError: invalid literal for int() with base 10: ‘11.5’
对于其他不可转换为整型的对象,直接抛出异常 ValueError
(咱们学东西,以点带面,举一反三,所以以下自学)
》》float()
和 int()基本一致,不同的是它会将对象转换为浮点数
》》 str()
可以将对象转换为字符串
(看出来没有,加引号)
》》 bool()
可以将对象转换为布尔值,任何对象都可以转换为布尔值
规则:对于所有表示空的对象都会转换为False,其余的转换为True
( 哪些表示的空:0 、 None 、 。。。)
3:类型转换的本质
转换函数做了什么事?
比如:float()函数
两个红框的id是一样的。所以10本身没有任何改变。
a在 1,2两次的id不同。说明a里面前后存的是不同对象的 id
所以。
类型转换函数只是拿原对象的值得到一个新类型的新对象,然后返回。