目录

  • 什么是类型转换,为什么做类型转换
  • 字符串与数字之间转换的要求
  • 字符串与数字之间的转换函数

什么是类型转换 为何做类型转换

  • 将自身数据类型变成新的数据类型,并拥有新的数据类型的所有功能的过程即为类型转换
  • a='1'# 无法做数字操作
  • 为方便更好的帮助处理业务,将类型变更为更适合业务场景的类型

字符串与数字之间转换的要求

  • str -> number:数字组成的字符串
In [61]: int_str = '102983475'
In [62]: float_str = '3.14159'
  • number -> str:无要求

字符串与数字之间的转换函数

在这里插入图片描述

In [63]: int_str = '102983475'
In [64]: new_int = int(int_str)
In [65]: new_int
Out[65]: 102983475
In [66]: int_str = '10298347a5'
In [67]: int(int_str)
ValueError Traceback (most recent call last)
<ipython-input-67-a25a7528c9bf> in <module>()
—---> 1 int(int_str)
ValueError: invalid literal for int( ) with base 10: '10298347a5'

实战

# coding:utf-8

int_data = 12
float_data = 3.14

str_int_data = str(int_data)
str_float_data = str(float_data)
print(str_int_data, str_float_data, type(str_int_data), type(str_float_data))

zero_number = 0
_number = -1
str_zero_number = str(zero_number)
str_number = str(_number)
print(str_zero_number, str_number, type(str_zero_number), type(str_number))

str_float = '3.1415'
str_int = '1223'

real_float = float(str_float)
real_int = int(str_int)
print(real_float, real_int, type(real_float), type(real_int))

mix_str = '123a'

# print(int(mix_str))  # 会报错
# print(float(mix_str))  # 会报错

float_data_str = '3.14'
# test_data = int(float_data_str)  # 会报错
# print(test_data, type(test_data))

int_data_str = '123'
test_data = float(int_data_str)
print(test_data, type(test_data))
12 3.14 <class 'str'> <class 'str'>
0 -1 <class 'str'> <class 'str'>
3.1415 1223 <class 'float'> <class 'int'>
123.0 <class 'float'>

Process finished with exit code 0
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐