目录
类型转换定义:将一个类型的数据转换为其它类型的数据。
age = input("请输入您的年龄:") # input默认输出是字符串类型
print(type(age)) # 使用type()函数查看属于哪种数据类型
为什么要转换成数据类型?
-
因为不同的数据类型,进行运算时,它的运算规则不一样。
-
注意:input 接收到的用户输入,都是 str 字符串类型。
-
在Python里,如果字符串和数字做加法运算,会直接报错。
age = input("请输入您的年龄:")
print(age + 1) # 会直接报错
-
如果要将以上代码改为正确的,必须要进行强制类型转换,代码如下:
age = int(age) # 将字符串类型 age 转换成 int(数字类型)
print(age + 1)
数据类型转换成整数(int)
-
使用 int 内置函数可以将数据转换成为整数,例如:
a = '21'
b = int(a)
print(a)
print(b+1)
# 如果字符串不是一个合法的数字,会直接报错==> a = 'hello'
x = '1a2c'
y =int(x,16) # 把字符串 1a2c 当作十六进制转换成为整数
print(y) # 打印一个数字,默认使用十进制输出
m = '12'
n = int(m,8) # 把字符串的12 当作八进制转换成为整数
print(n)
数据类型转换成浮点数(flaot)
-
使用 float 内置类可以将其它数据类型转换成为 float 浮点数
a = '12.34'
b = float(a)
print(b+1)
c = float('hello') # 如果字符串不能被转换成为有效的浮点数,会报错
print(c)
数据类型转换成字符串(str)
a = 34
b = str(a)
print(a)
print(b) # 字符串不能与数字进行加法运算,否则会报错
print(type(a)) # 查看数据类型 ==> <class 'int'>(该类型为整型)
print(type(b)) # 查看数据类型 <class 'str'>(该数据类型为字符串)
数据类型转换成为布尔值(bool)
-
使用 bool 内置函数可以将其它数据类型转换成为布尔值
print(bool(100)) # 将数字100转换成为布尔值,值为True
print(bool(-1)) # 将-1转换成为布尔值,值为True
print(boo(0)) # 将0转换成为布尔值,值为False
-
有些朋友会这么问,当将0转换为布尔值时,运行结果会是False,其他数字都是True?
-
原因很简单,数字里,只有数字 0 才被转换成为布尔值False,其它数字转换成为布尔值都是True,记住这一点即。
-
在字符串里,只有空字符串 ' ' / " " 可以转换成为False,其它字符串都转换成为True,代码如下:
print(bool('hello')) # 值为True
print(bool('False')) # 值为True
print(bool('')) # 值为False
print(bool("")) # 值为False
-
布尔值(bool)为False 有以下这些:
print(bool(None)) # False 空数据类型
print(bool([])) # False 空列表类型
print(bool(())) # False 空元组类型
print(bool({})) # False 空字典类型
print(bool(0)) # False 数字0
s = set() , print(bool(s)) # False 空集合类型
-
在计算机里,True 和 False 其实就是使用数字 1 和 0 来保存的,例如:
print(True + 1) # 值为2
print(False + 1) # 值为1
隐式类型转换
-
当条件满足并且等于True时,会直接被打印结果,例子如下:
if 3 > 2:
print('hello') # 值为hello