python数据类型的转换-信息技术爱好者

信息技术爱好者

您现在的位置是:首页> 视频教程> Python教程

博客浏览

python数据类型的转换

申浩利2023年9月9日个人博客1091
将一种 Python 数据类型转换为另一种数据类型的过程称为类型转换。当需要确保数据与特定函数或操作兼容时,可能需要进行类型转换。 Python 提供了四个可用于类型转换的内置函数。这些函数是:str()、int()、float()、bool()。这些函数分别返回字符串、整数、浮点数或布尔值。 需要注意一点是,并非所有值都可以强制转换为其他数据类型。

为什么需要数据类型转换

我们先来看一下上一讲中的求两数之和的程序:

'''

求两个数的和

指定两个数

申浩利 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)

欢迎到下方观看视频中去观看详细的视频讲解,并长按点赞支持我!