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类型

 

posted @ 2020-08-09 20:08  花与  阅读(156)  评论(0)    收藏  举报