当前位置:首页>python>Python内置对象类型及类型转换

Python内置对象类型及类型转换

  • 2026-10-21 13:27:27
Python内置对象类型及类型转换

Python内置对象

类型及类型转换

1

Python内置对象类型及类型转换

Python常见的内置对象类型有如下6种:数字、字符串、列表、元组、字典、集合。在一级考试中,我们只要求掌握数字(整型和浮点型)与字符串类型的互相转换。

1.把其他数据类型转换为数字类型(含整型和浮点型)

首先,其他数据类型必须是数字组成的字符串,非数字字符组成的字符串是不能转换为数字;其次,转换的方式为如下3种。

int():作用是将其他对象类型转换为整数,如下所示。

>>>int('123')

123

#将字符串转换为整数

>>>int(12.3)

12

#将浮点数转换为整数

思考:int(12.5);int(12.9)会是什么结果?

float():作用是将其他对象类型转换为浮点数,如果原对象类型为整型,则保留1位小数;如果原对象本身含有小数点,则按照原对象小数点后面的位数进行保留,如下所示。

>>>float ('123.24')

123.24

#将字符串转换为浮点数

>>>float(12)

12.0

#将整数转换换为浮点数

eval():作用是返回传入字符串的表达式的结果,由于返回的是表达式的值,所以eval()的返回值是数字类型的对象,如下所示。

>>>eval('4+6')

10

#将字符串 4+6表达式的值返回

>>>eval("123.4")   #将字符串123.4的值返回

123.4

2.将其他数据类型转换为字符串类型

该种转换,只能使用str()函数,str()函数的功能是将其他数据类型转换为字符串类型,如:

>>>str(10)

'10’

3.type()函数

该函数的主要作用是查看对象的数据类型,返回的值常见的有<type 'int'>、<type 'str'>、<type 'list'>、<type'float'>等和对象类型相匹配的类型

名称,如下所示。

>>>type("123")

<class 'str'>

4.字符串类型的基本运算

加法运算:字符串和字符串可以进行加法运算,相当于把两个字符串连接在一起。

乘法运算:字符串可以和整型数据类型进行乘法运算,相当于把该字符串重复显示多少次。但是要注意,字符串必须在整型数据之前,如下所示。

>>>print(”电子学会"*3)

电子学会电子学会电子学会

5.数字类型的运算

这种类型的运算比较多也比较复杂,所以我们将把这一部分内容放到运算符中来进行详解。

易错点

(1)字符串的加法运算必须在字符串类型之间进行,不能和其他类型进行加法运算,比如 print("123"+3)是错误的。

(2)str()函数在进行转换前要对对象进行计算,如下所示。

>>>a= 4+8

>>>print(str(a))

12

(3)eval()函数可以计算表达式的结果,不可计算的表达式是无法计算的,比如含有字母的字符串,还有我们将在二级考核的列表等,所以在使用时必须要注意表达式是否可以转换为可计算的表达式。例如:eval('1+2+4.5’)是可以计算的;

但是a="1+2"时,eval('a+4.5’);eval(a+4.5);(a+"4.5")分别得到什么结果?

eval('a+4.5’)不可以计算,在执行时,eval会尝试在其作用域里查找变量a。要是a未被定义或者不是数值类型,就会引发错误。即便a已被定义为字符串"1+2",eval也会尝试把"1+2"和4.5相加,由于字符串和浮点数不能直接相加,所以会产生类型错误。

eval(a+4.5)不可以计算,在调用eval之前,Python 会先计算a+4.5。但字符串a和浮点数4.5属于不同类型,它们之间不能直接进行加法运算,这就会导致类型错误,根本轮不到eval执行。

(a+"4.5")可以计算。它会返回字符串"1+24.5"。这里是把字符串a和字符串"4.5"连接起来了,在 Python 中,字符串之间是可以进行连接操作的。之后再进行数学运算。结果为25.5。

2

练习

考题1单选题

a=5

print('a+4')

以上两段代码的运行结果是?()

A.9      B.'a+4'         C.无结果,出错          D. a+4

答案:D

解析:根据题意可知a的值是5,但是print('a+4')是一个字符串,并不是一个运算表达式,所以输出的结果是a+4。

考题2单选题

以下哪种输入结果不可能得到以下反馈:重要的事情说3遍:安全第一!安全第一!安全第一!()

A.print(”重要事情说3遍:"+"安全第一!"*3)

B. print("重要事情说3遍:"+"安全第一!“+”安全第一!“*2)

C.print("重要事情说3遍:“+“安全第一!"+”安全第一!"+”安全第一!“)

D.print("重要事情说3遍:"+"安全第一!“/3)

答案:D

解析:这是一个典型的字符串运算的题目,根据字符串运算的规则,A、B.C均可让“安全第一”重复3次,但是字符串不可以进行除法运算,所以D是错误的。

最新文章

随机文章