【发布时间】:2019-05-23 10:44:39
【问题描述】:
我是一名新手开发人员。我使用了下面的代码,但我想了解最后一行是如何工作的,有人可以向我解释一下代码的最后一行return eval(((str(a)+"*")*b)[:-1]) 吗?
def power(a,b):
if b == 0:
return 1
else:
return eval(((str(a)+"*")*b)[:-1])
【问题讨论】:
-
这是非常糟糕的代码。如果要计算幂,只需使用
**运算符。如果您想利用计算能力的任务作为学习计算机编程基础知识的机会,请使用循环或递归,而不是eval。 -
了解 Python's
eval内置。一般请参考Python's documentation。确实,该代码非常糟糕。顺便说一句,编程的一个很好的介绍是 SICP 但不使用 Python -
这个问题也很好......即使关闭了,您也可以在这里接受答案。这实际上会促使您获得“投票权”,从而提供更多欣赏方式,例如当一个问题有多个有用的答案时;-)
-
感谢您的帮助
标签: python