Python — 字符串处理
1. str.replace()
用处:将字符串str中的一段(老)子字符串,替换为一段(新)子字符串;
语法:str.replace(old, new, max)
参数:① old -- 将被替换的子字符串。
② new -- 新字符串,用于替换old子字符串。
③ max -- 这2段子字符串的替换不超过 max 次。
返回值:返回替换完成后的新字符串 str’。
eq1 = "2*X+4=6"; eq1 = eq1.replace("=","-(") + ")"; # 将字符串eq1中所有的“=”都换为“-(”,然后在eq1的字符串末尾填上一个字符“)”
# 2个字符串的拼接可用“+”直接完成 print(eq1); # 打印结果:2*X+4-(6)
2. eval(str, )
用处:执行一个「字符串类型」的表达式,并返回表达式的值。
语法:eval(expression, globals, locals)
参数:① expression -- 字符串类型的表达式。
② globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个「字典」对象。
③ locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
返回值:返回表达式的计算结果,返回值类型为数值类型。
str1 = "2*X + 4 - 6"; # 注意:字符串类型的表达式中想做乘法运算,必须加上*号(即不能写str1 = "2X+4-6") a = eval(str1,{'X':1}); # a为将X=1代入表达式str1中得到的计算结果,a = 0 print(type(a)); # a是int类型 a = eval(str1,{'X':1j}); # a为将X=1j代入表达式str1中得到的计算结果,a = -2+2j print(type(a)); # a是complex类型(即复数类型) a = eval(str1,{'X':'c'}); # 报错,无法执行 str2 = "2*X + 4*Y - 6"; a = eval(str1,{'X':1,'Y':2}); # a = 4 print(type(a)); # a是int类型