在python中把方程参数设置为任意方程?def(self,f)
def(self,f):p=[12,23,34]foriinlen(p):f(p[i])对整个p执行f方程。应该如何表示呢?...
def(self,f):
p = [12,23,34]
for i in len(p):
f(p[i])
对整个p执行f方程。
应该如何表示呢? 展开
p = [12,23,34]
for i in len(p):
f(p[i])
对整个p执行f方程。
应该如何表示呢? 展开
展开全部
我的理解为:
方程参数》》把函数作为参数向一个函数传递
把函数当作参数直接用就可以,完全没有问题。
class paraFun():
def fun1(self, f):
p = [12,23,34]
for i in range(len(p)):
f(p[i])
def fun2(self, num):
print "fun2:", num
obj = paraFun()
obj.fun1(obj.fun2)
#fun2: 12
#fun2: 23
#fun2: 34
展开全部
if __name__ == '__main__':
print(eval("12 * 23 +34"))
print(eval("12 - 23 / 34"))
print(eval("12 ** 23"))
可以用eval()函数,里面直接写string类型的表达式即可,放到函数里就是拼接字符串
附一个其他方法的小例子
# 函数的默认参数
def arithmetic(x=1, y=1, operator="+"):
result = {
"+": x + y,
"-": x - y,
"*": x * y,
"/": x / y
}
return result.get(operator) # 返回计算结果
print(arithmetic(1, 2))
print(arithmetic(1, 2, "-"))
print(arithmetic(y=3, operator="-"))
print(arithmetic(x=4, operator="-"))
print(arithmetic(y=3, x=4, operator="-"))
print(eval("12 * 23 +34"))
print(eval("12 - 23 / 34"))
print(eval("12 ** 23"))
可以用eval()函数,里面直接写string类型的表达式即可,放到函数里就是拼接字符串
附一个其他方法的小例子
# 函数的默认参数
def arithmetic(x=1, y=1, operator="+"):
result = {
"+": x + y,
"-": x - y,
"*": x * y,
"/": x / y
}
return result.get(operator) # 返回计算结果
print(arithmetic(1, 2))
print(arithmetic(1, 2, "-"))
print(arithmetic(y=3, operator="-"))
print(arithmetic(x=4, operator="-"))
print(arithmetic(y=3, x=4, operator="-"))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询