Python中模拟四则运算,有两个内建函数eval()
、operator可以选择
-
eval()
eval()
模拟四则运算,代码例子如下:
def add(x, y):
return eval('x + y')
def subtract(x, y):
return eval('x - y')
def multiply(x, y):
return eval('x * y')
def divide(x, y):
if y == 0:
raise ValueError("Division by zero!")
else:
return eval('x / y')
在上面的代码中,add()
, subtract()
, multiply()
和 divide()
函数分别用于执行加法、减法、乘法和除法运算。
特别注意,eval()
函数在处理字符串形式的表达式时非常有用,但是使用它也可能带来很严重的安全风险,因为它可以执行任何Python代码,包括攻击代码。因此,在使用 eval()
时一定要特别小心,确保传入的字符串是安全的。
-
operator
operator
模拟四则运算,代码例子如下:
import operator
def add(x, y):
return operator.add(x, y)
def subtract(x, y):
return operator.sub(x, y)
def multiply(x, y):
return operator.mul(x, y)
def divide(x, y):
if y == 0:
raise ValueError("Division by zero!")
else:
return operator.truediv(x, y)
在这个例子中,operator.add()
, operator.sub()
, operator.mul()
和 operator.truediv()
分别用于执行加法、减法、乘法和除法运算。
一般来说,要执行简单的四则运算,Python的内建函数 operator
使用了内置的运算符,是更安全、更高效的方法。如果要有更多扩展功能的话,则可以考虑使用eval()
来实现,但是一定要特别小心检查传入的字符串,避免安全风险。
may the odds be ever in your favor ~