# 当前版本 ： python3.8.2
# 开发时间 ： 2021/8/22 14:30
name = '张三'
age = 20
print(type(name), type(age))

# print('我叫' + name + '今年' + age + '岁')
# 当将str类型与int类型进行连接时，报错，解决方案：类型转换
print('我叫' + name + '今年' + str(age) + '岁')  # 将int类型通过str()函数转换成str类型

# 数据类型转换
# 1.str()   将其他数据类型转换成字符串(也可以用引号转换)
print('————————str()将其他类型转换成str类型————————')
a = 10
b = 198.8
c = False
print(type(a), type(b), type(c))
print(str(a), str(b), str(c), type(str(a)), type(str(b)), type(str(c)))

# 2.int() 将其他数据类型转换为整数 （1.文字类和小数类字符串，无法转换成整数 2.浮点数转换为整数：抹零取整）
print('————————int()将其他类型转换成int类型————————')
s1 = '128'
f1 = 98.7
s2 = '76.77'
ff = True
s3 = 'hello'
print(type(s1), type(f1), type(s2), type(ff), type(s3))
print(int(s1), type(int(s1)))  # 将str转换成int类型，字符串为 数字串
print(int(f1), type(int(f1)))  # 将float转换成int类型，截取整数部分，舍掉小数部分
# print(int(s2), type(int(s2)))  # 将str转成int类型，报错，因为字符串为小数串
print(int(ff), type(int(ff)))
# print(int(s3), type(int(s3)))  # 将str类型转换成int类型，字符串必须为数字串(整数)，非数字串不允许被转换

# 3.float() 将其他数据类型转换成浮点数(1.文字类无法转换成浮点类型  2.整数转换成浮点数，末尾为.0)
print('————————float()将其他类型转换成float类型————————')
s1 = '128.98'
s2 = '76'
s3 = 'hello'
ff = True
i = 98
print(type(s1), type(s2), type(s3), type(ff), type(i))
print(float(s1), type(float(s1)))
print(float(s2), type(float(s2)))
# print(float(s3), type(float(s3)))  #字符串中的数据如果是非数字串，则不允许转换
print(float(ff), type(float(ff)))
print(float(i), type(float(i)))
