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。