python数据类型的转换
为什么需要数据类型转换
我们先来看一下上一讲中的求两数之和的程序:
'''
求两个数的和
指定两个数
申浩利 2023年8月29日
'''
a=1
b=2
c=a+b
print(c)
这个程序,是在程序中指定了a、b的值,如果我们要求任意两个整数的和,就需要从键盘上输入a、b的值,然后再进行计算:
"""
求两数之和演示程序1
申浩利 2023年8月31日
"""
a=int(input("请输入一个整数"))
b=int(input("请输入一个整数"))
c=a+b
print(c)
我们运行程序,分别输入1和2,结果却并不是3,面是12。
Input函数返回为 string 类型
Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。
所以在上述程序中a、b都是字符串,而我们要进行算术运算时,就必须将其转换为数值数据。
强制类型转换(显式类型转换)
在显式类型转换中,用户将对象的数据类型转换为所需的数据类型。 我们使用 int()强制转换为整型、float()强制转换为浮点型、bool()强制转换为布尔类型、str()强制转换为字符串类型。
x = int(1) # x 输出结果为 1
y = int(2.8) # y 输出结果为 2
x = int(1) # x 输出结果为 1
y = int("2.8") # y 输出结果为 2
x=bool(1) #x 输出结果为 True
y=bool(0) #y输出结果为False
x=str(1)#x输出结果为“1”
y=str(2.8)#y输出结果为”2.8”
函数 描述
int(x [,base])
将x转换为一个整数
float(x)
将x转换到一个浮点数
complex(real [,imag])
创建一个复数
str(x)
将对象 x 转换为字符串
repr(x)
将对象 x 转换为表达式字符串
eval(str)
用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)
将序列 s 转换为一个元组
list(s)
将序列 s 转换为一个列表
set(s)
转换为可变集合
dict(d)
创建一个字典。d 必须是一个 (key, value)元组序列。
frozenset(s)
转换为不可变集合
chr(x)
将一个整数转换为一个字符
ord(x)
将一个字符转换为它的整数值
hex(x)
将一个整数转换为一个十六进制字符串
oct(x)
将一个整数转换为一个八进制字符串
隐式类型转换
在隐式类型转换中,Python 会自动将一种数据类型转换为另一种数据类型,不需要我们去干预。
Python的数据类型的"高低"可以按照如下顺序理解:布尔(bool)< 整型(int) < 浮点型(float)< 复数(complex)。这个顺序主要根据数据类型可以表示的信息范围和精度来确定的。
以下实例中,我们对a、b两种不同类型的数据进行运算,较低数据类型(整数)就会转换为较高数据类型(浮点数)以避免数据丢失,c的数据类型就是浮点型。
a=1
b=2
c=a+b
数据类型转换的限制
虽然Python提供了一些内置的函数来实现不同数据类型之间的转换,如int(), float(), str(), list(), tuple(), set()等等,但并非所有类型的数据都可以被转换成其他任意类型。数据类型的转换并非无限制,它取决于原始数据是否能够提供足够的信息来表示目标类型。当你在编程中进行类型转换时,需要注意这一点。
求两数之和的程序
如果要求两数(整数)之和,就需要把字符串转换为整型数据,其程序如下:
"""
求两数之和演示程序1
申浩利 2023年8月31日
"""
a=int(input("请输入一个整数"))
b=int(input("请输入一个整数"))
c=a+b
print(c)
欢迎到下方观看视频中去观看详细的视频讲解,并长按点赞支持我!
资源下载
- 没有下载资源 本站资源解压缩密码:www.51kdn.com